Commit Graph

207 Commits

Author SHA1 Message Date
Sarah Hoffmann
8b896f37f3 fill interpolation array for reverse lookups via search endpoint
Fixes #540
2016-10-01 13:03:31 +02:00
Sarah Hoffmann
6bf90eb22f fix namespace use 2016-09-30 22:43:11 +02:00
Marc Tobias Metten
6238ae6032 add namespaces, method visibility according to PSR2 standard 2016-09-16 02:27:36 +02:00
Marc Tobias Metten
4a321487f3 fix indentation and misc errors according to PSR2 coding style guide 2016-09-14 03:16:46 +02:00
Marc Tobias Metten
2a784fa3d4 fix function declaration errors according to PSR2 coding style guide 2016-09-11 05:22:51 +02:00
marc tobias
3887423381 fix array-related errors according to PSR2 coding style guide 2016-09-10 21:10:52 +02:00
marc tobias
f05ea577f4 bracket spacing for if/else/for/foreach/while/switch according to PSR2 standard 2016-09-08 02:16:22 +01:00
Marc Tobias Metten
832547f192 tabs-to-spaces 2016-09-04 03:19:48 +02:00
Sarah Hoffmann
5464dec057 factor out parameter parsing into its own class
Allows to use the parsing functions in website/search.php and
utils/query.php as well.
2016-08-20 13:43:50 +02:00
Sarah Hoffmann
0a95bdc5f5 remove unused functions in Geocode 2016-07-26 23:10:50 +02:00
Sarah Hoffmann
d594bb238b cleanup interface of PlaceLookup
Move lookup parameters (place id, type, frac etc.) from members
to parameters for lookup().
2016-07-26 20:54:14 +02:00
Sarah Hoffmann
1b33999f10 refactor ReverseGeocode
- remove unused functions and members
- move coordinates from being members to being parameters of lookup()
2016-07-26 20:54:14 +02:00
Sarah Hoffmann
a766240c06 remove duplicate reverse geocoding code
Geocode now uses ReverseGeocode directly. Note that it currently
cannot support any interpolations, neither OSM nor Tiger. But
neither did the previous version.
2016-07-24 23:58:39 +02:00
Sarah Hoffmann
665de339e5 allow coordinates in query only with name or classtype
Coordinates with country or housenumber only do not make much
sense. Currently these combination result in queries that
require a sequential scan of search_name and normally time
out before yielding any results.

fixes #462
2016-06-15 22:41:48 +02:00
Sarah Hoffmann
348a3082c9 fix syntax errors and update tests
Some of the tests with bad parameters now return a HTTP 400.
2016-06-12 22:51:13 +02:00
Sarah Hoffmann
033b9590bd use chksql everywhere in lib/
Replaces manual PEAR error checks and adds the chksql wrapper
where the error checks were still missing.
2016-06-12 14:58:05 +02:00
markigail
98e5ba6b61 use place_id instead of parent_place_id for excluded place_ids in interpolation lines query 2016-06-04 23:54:17 +02:00
markigail
190a72cab5 Fix bug in index.c and remove column admin_level from location_property_osmline. 2016-05-08 16:46:42 +02:00
Markus Gail
2ba9c11dd0 fix bug in Geocode.php 2016-04-29 10:24:30 +02:00
Markus Gail
db719d489f index on geometry of interpolation lines, and more improvements. 2016-04-27 17:42:59 +02:00
Markus Gail
a10f537131 Correct merge error in Geocode.php. 2016-04-25 17:44:34 +02:00
Markus Gail
89c556d163 Coding style adaptions and correcting small errors from merge. 2016-04-25 13:58:28 +02:00
Markus Gail
b03be15442 Merge remote-tracking branch 'origin/master' into osmline
Conflicts:
	lib/Geocode.php
	lib/PlaceLookup.php
	sql/functions.sql
	sql/tables.sql
	utils/setup.php
2016-04-25 11:01:04 +02:00
Markus Gail
7879ad44cd Remove interpolation lines from placex and save them in an extra table. 2016-04-25 09:44:01 +02:00
Sarah Hoffmann
a86563cfb1 make tables for external data (Tiger and aux) configurable
Introduces two new settings CONST_Use_US_Tiger_Data and
CONST_Use_Aux_Location_data, which are disabled by default.
When false the corresponding tables are ignored in queries
and updates.

Aux and tiger tables are no longer created by default. This
has to be done by the corresponding import scripts. The former
aux table creation can be found in sql/aux_tables.sql for
reference.
2016-04-07 21:47:51 +02:00
Sarah Hoffmann
02bd322c1d remove explicitly set postgres/postgis version
Get the version from the database where necessary or simply
probe for existence of features. Fake hstore_to_json when
necessary.

Bumps the minimum required versions fro postgres to 9.1 and
for postgis to 2.0.
2016-03-30 22:48:18 +02:00
Sarah Hoffmann
53eb9a5f14 fix syntax errors in tiger code and adapt format of dummy tables 2016-03-27 23:45:20 +02:00
Markus Gail
7dd0a63b68 Fix coding style. 2016-03-23 09:34:36 +01:00
Markus Gail
a4ecd9d73e Merge branch 'tigerlines' of /home/markus/Nominatim into tiger
Conflicts:
	lib/Geocode.php
	lib/ReverseGeocode.php
	lib/lib.php
2016-03-22 11:26:39 +01:00
Markus Gail
e94b667e16 adapt to code style conventions 2016-03-21 14:15:22 +01:00
Markus Gail
291fdd1894 Tested Version of new Tiger line storage format. 2016-03-21 14:14:01 +01:00
Markus Gail
46cef36184 Implement geocoding and reverse geocoding with tiger interpolation lines instead of points. 2016-03-21 14:14:01 +01:00
Markus Gail
bc449e10be change tiger housenumber format to save as lines instead of points and thus new interpolation 2016-03-21 14:07:12 +01:00
Markus Gail
d8703c223b adapt to code style conventions 2016-03-21 13:32:44 +01:00
Markus Gail
df6b433066 Tested Version of new Tiger line storage format. 2016-03-21 13:32:44 +01:00
Markus Gail
26e30bf8e1 Implement geocoding and reverse geocoding with tiger interpolation lines instead of points. 2016-03-21 13:32:44 +01:00
Markus Gail
49d0ce1de4 change tiger housenumber format to save as lines instead of points and thus new interpolation 2016-03-21 13:32:44 +01:00
Marc Tobias Metten
607fef2d8f moved bIncludePolygonAsPoints related logic into lib.php, added tests 2016-03-21 13:32:44 +01:00
Marc Tobias Metten
22ebd1c7a9 second argument of array_merge can be empty 2016-03-13 03:01:19 +01:00
Marc Tobias Metten
71b3aa9cca Reverse geocode include geometry - added bounding box tests 2016-03-09 19:43:03 +01:00
Marc Tobias Metten
991bd0004a Reverse geocode include geometry 2016-03-04 20:29:09 +01:00
Marc Tobias Metten
7f5fe8c877 moved bIncludePolygonAsPoints related logic into lib.php, added tests 2016-02-28 17:06:52 +01:00
Marc Tobias Metten
78a29b5a87 spaces-to-tabs for all *.php files 2016-02-27 00:02:20 +01:00
Sarah Hoffmann
5c187182a3 fix json output of empty arrays 2015-08-15 09:52:48 +02:00
Sarah Hoffmann
95a681f128 make sure names/extratags is enabled for postgres > 9.2 only
Support for hstore_to_json() needed.
2015-08-10 21:53:13 +02:00
Sarah Hoffmann
a1f3bfb35a implement namedetails and extratags parameter for search 2015-08-10 21:42:40 +02:00
Sarah Hoffmann
1fcb712f00 also return bbox ccordinates as string for nodes
fixes https://trac.openstreetmap.org/ticket/5132 again
2015-06-12 23:26:38 +02:00
Sarah Hoffmann
80df4d3b56 fix parameter name
Fixes trac ticket 5319.
2015-05-28 21:25:55 +02:00
Sarah Hoffmann
c51ca976ed bring back area bboxes for nodes 2015-05-21 22:47:37 +02:00
Sarah Hoffmann
79f1107391 increase relevance of class/type importance
fixes #273
2015-05-04 21:14:34 +02:00
Sarah Hoffmann
a7e1b3b1ee Merge branch 'feature/polygon-simplification' of https://github.com/a1exsh/Nominatim 2015-04-30 21:26:11 +02:00
Oleksandr Shulgin
46e64bd933 Check for positive polygon simplification threshold
Don't run the simplification function if no threshold was given
(or in case of a negative one).  Also process the query string
parameter in case of html out format.
2015-04-29 16:13:39 +02:00
Sarah Hoffmann
27753fb8db remove check for class/type shortcuts which were never implemented
fixes #266
2015-04-28 21:37:51 +02:00
Oleksandr Shulgin
ab47773604 Add polygon simplification
New query string parameter polygon_threshold=<0.0..1> is introduced.
The float value of this parameter (defaults to 0) is passed to
ST_SimplifyPreserveTopology() on geometry we're about to output in
one (or many) requested formats such as GeoJSON, KML, etc.

This is useful when getting border polygons for whole countries, but
rendering them at large scale, when most of the high resolution details
cannot be seen anyway.  For example, the unsimplified polygon data for
Germany in GeoJSON format currently makes for about 3 MB response body.
With use of this new parameter, the application can greatly reduce the
amount of downloaded data and server response time while providing its
users with the same picture.  On a typical laptop screen resolution,
zooming out to fit the whole country borders on screen, only 1/100 amount
of details could be well enough.
2015-04-27 15:16:38 +02:00
Brian Quinion
a5a0e1dd0b Various places where conversion from to ->aStructuredQuery had been missed 2015-04-07 14:04:08 +01:00
Sarah Hoffmann
eb1d8894b9 correctly handle comma-only exclude_place_ids 2015-03-29 18:17:52 +02:00
Sarah Hoffmann
aaabf70a1c correctly quote regular expression 2015-03-29 17:23:06 +02:00
Sarah Hoffmann
555362eabe simplify bounding box computation
Makes highlighting of points reappear.
2015-03-06 20:58:09 +01:00
Sarah Hoffmann
2b2b6ffadc drop special handling of short exact terms in address
There is a double check against exact terms, so that results with
a matching exact short term will float to the top.
2015-02-15 19:36:39 +01:00
Sarah Hoffmann
c9f3d7d08b disable housenumber-specific search when no address details are provided 2015-02-05 21:13:33 +01:00
Sarah Hoffmann
cf5ced6618 order search results by existance of housenumbers
When searching for an address with housenumber, include the house
number lookup already when searching in search_name so that we do
not cut away relevant results in cases where there are too many
street pieces.
2015-02-04 20:31:30 +01:00
Sarah Hoffmann
0f84371748 actually write back the reversed final phrase when reversing the query 2015-02-04 20:29:38 +01:00
Sarah Hoffmann
330f147b02 use _st_intersects when dealing with countries, it does not use index 2015-01-28 21:40:08 +01:00
Sarah Hoffmann
c798577f70 remove hack for fixing adminitrative typo 2015-01-26 22:33:56 +01:00
Sarah Hoffmann
d1552b0904 don't use tokens from country parameter in address field of searches
fixes #218
2015-01-26 21:59:36 +01:00
Sarah Hoffmann
b121da0ca3 need phrase types in getGroupedSearches 2015-01-26 21:34:21 +01:00
Sarah Hoffmann
e16fcf879d fully evaluate reverse order of queries
Factors out computation of search group and calls the code once
for forward evaluation and wants with reversed word order.
2015-01-21 21:40:38 +01:00
Sarah Hoffmann
e62ae5b090 respect bounded in country searches
fixes trac 5238
2014-10-08 23:31:33 +02:00
Sarah Hoffmann
4d6da459da experimental tweaking of ranks of searches
- completely removes partial words with spaces from addresses
- ensure that frequent partial search terms appear in NonAddress
- higher penalty for partial words consisting of numbers
2014-09-29 19:11:59 +02:00
Marc Tobias Metten
d6f298f033 move looksLikeLatLonPair into lib.php, basic PHP test suite using phpunit 2014-09-23 22:53:20 +02:00
Sarah Hoffmann
aae90ea5cb fix adding of spaces in GB postcode
Based on https://github.com/twain47/Nominatim/pull/180 by arunkmp.
2014-09-21 22:44:06 +02:00
Sarah Hoffmann
e7ee9c2d84 fix coordinate order for route parameter
fixes #174
2014-09-03 21:08:26 +02:00
Sarah Hoffmann
5f79cca558 apply rank restrictions already when scanning search_name table
fixes #176
2014-09-03 21:00:37 +02:00
Sarah Hoffmann
defb809b83 normalize house numbers in placex when searching 2014-05-10 19:41:11 +02:00
Sarah Hoffmann
70deb7883e fix PHP warnings about undefined variables 2014-05-01 15:38:31 +02:00
Sarah Hoffmann
7b24f72870 give slight preference to full-word matches when reranking
fixes https://trac.openstreetmap.org/ticket/5094
2014-05-01 15:19:24 +02:00
Sarah Hoffmann
11153633ff remove some dead code 2014-05-01 14:21:57 +02:00
Sarah Hoffmann
3eb21a7694 don't enlarge viewbox when bounded is requested 2014-05-01 14:20:23 +02:00
Sarah Hoffmann
9ac57c92ee fix formatting 2014-05-01 09:25:06 +02:00
Sarah Hoffmann
ac70726591 sanity check of house number format
Add a penalty for house number search terms when they contain
too many non-numeric characters in an attempt to filter tokens
that ended up as house numbers in the word table as a result
of mapping errors.
2014-05-01 09:18:10 +02:00
Sarah Hoffmann
34adfd5041 add penalty for special term searches
abbreviations for some of the terms are too easily matched against
common address terms like 'street'
2014-05-01 09:16:03 +02:00
Sarah Hoffmann
2cc0fa341b remove New York hack
Seems to work okay with current boundaries.
2014-04-30 21:11:23 +02:00
Sarah Hoffmann
21adb3740e take viewbox into account for final result ranking
fixes #12
2014-04-30 21:04:46 +02:00
Sarah Hoffmann
0b9618e349 prefer street results when doing house number search
This is an experimental fix for #119.
2014-03-13 20:40:02 +01:00
Sarah Hoffmann
a92907186b allow US state name abbreviations at beginning of search term
fixes https://trac.openstreetmap.org/ticket/5136
2014-03-11 00:32:54 +01:00
Sarah Hoffmann
bc27cb2bd8 introduce util function to query db from command line 2014-03-03 20:02:24 +01:00
Sarah Hoffmann
236750eba4 always return bbox ccordinates as string
fixes https://trac.openstreetmap.org/ticket/5132
2014-03-02 17:52:09 +01:00
Sarah Hoffmann
dbdf767030 fix syntax of route linestring 2014-02-07 21:31:26 +01:00
Brian Quinion
e591269fd8 Merge branch 'master' of github.com:twain47/Nominatim 2014-01-23 14:40:42 +00:00
Brian Quinion
47fdb33adf nominatim fallback mode for structured queries 2014-01-23 14:40:37 +00:00
Sarah Hoffmann
08eff3c482 further tweak secondary ordering of results
- make address importance work for house number onjects
 - add number of exact matches
 - add importance of class/type
2013-12-04 07:53:53 +01:00
Sarah Hoffmann
b544a8c590 fix indentation 2013-11-23 13:14:42 +01:00
Sarah Hoffmann
e9222ba4c6 explain results for Geocode::lookup() 2013-11-23 12:43:47 +01:00
Sarah Hoffmann
124032c27b use object properties in loadStructuredAddressElement() 2013-09-17 18:33:44 +02:00
Sarah Hoffmann
008407c2f7 move country to end of structured query
Fixes https://trac.openstreetmap.org/ticket/4918
2013-09-17 00:22:08 +02:00
Sarah Hoffmann
c574c933e4 reenable reverse order queries, leave disabled for structured queries 2013-09-16 00:05:26 +02:00
Brian Quinion
8f2e089908 Fix missed local variable aAddressRankList in conversion 2013-09-13 17:45:23 +01:00
Brian Quinion
44262c1d4c Limit wordset combination explosion to 120 variants (1x2x3x4x5) 2013-09-13 14:24:16 +01:00
Brian Quinion
a974d25092 fix structured and batch mode. Add constant to disable batch mode by default 2013-09-12 16:16:08 +01:00
Sarah Hoffmann
27e6a24718 use object properties in getDetails() 2013-09-10 20:10:53 +02:00
Brian Quinion
9fd75fd7ce improve admin type labels 2013-09-09 16:18:40 +01:00
Brian Quinion
624e135a83 errors in structured queries 2013-09-06 09:47:46 +01:00
Brian Quinion
6a337f13d0 XML and JSON map 'ploygon' param to AsPoints 2013-09-06 09:47:46 +01:00
Brian Quinion
5f941407b3 Allow for reverse geocode returning no results 2013-09-06 09:47:46 +01:00
Brian Quinion
cdd129de70 fix viewbox issues 2013-09-06 09:47:46 +01:00
Brian Quinion
eb793ae26e Fix for regressions: broken bounded search, error on country codes 2013-09-06 09:47:46 +01:00
Brian Quinion
54129a6f15 First run at turning search into a library 2013-09-06 09:47:45 +01:00