Commit Graph

239 Commits

Author SHA1 Message Date
Sarah Hoffmann
a27bf64a55 disable unused function get_coonected_ways()
interferes with testing because of a reverse dependency on planet_osm_ways
2014-08-29 22:13:57 +02:00
Sarah Hoffmann
6b0ecb0e2f support colon in wikipedia article names
fixes #172
2014-08-17 22:31:18 +02:00
Sarah Hoffmann
8a4bd7fa4c consider side_streams as part of waterways if they have the same name
fixes #155
2014-07-21 23:11:28 +02:00
Sarah Hoffmann
2643225b72 fix member lookup in empty waterway relations 2014-07-06 23:15:53 +02:00
Sarah Hoffmann
c3dcb6535a go through entire member list when checking waterway relations 2014-07-06 21:23:11 +02:00
Sarah Hoffmann
0ab547793d inherit postcode from street to poi 2014-05-26 22:42:03 +02:00
Sarah Hoffmann
ea48e50c60 Merge branch 'place-in-addressdetails' of https://github.com/lonvia/Nominatim 2014-05-16 11:23:05 +02:00
Sarah Hoffmann
052d219205 link waterway relations against contained ways 2014-05-07 22:47:36 +02:00
Sarah Hoffmann
bafd92093b prefer place tag for address details 2014-04-30 23:31:28 +02:00
Sarah Hoffmann
ffe24a8a64 address inheritance from buildings to pois
POI nodes inherit the address tags from surrounding buildings
if they do not have an address of their own.
2014-04-30 20:05:59 +02:00
Sarah Hoffmann
00768d321e fix addr:place lookup 2014-04-28 21:52:24 +02:00
Sarah Hoffmann
6a1e599f31 avoid unnamed streets in associated street relations
fixes https://trac.openstreetmap.org/ticket/4877
2014-04-28 20:27:09 +02:00
Sarah Hoffmann
5882a15bac handle duplicate word entries correctly when looking for nearest street 2014-04-28 20:01:44 +02:00
Sarah Hoffmann
e3f90f8dcf assign rank of sea and coastline before area catchall 2014-04-28 16:45:55 +02:00
Sarah Hoffmann
76a83b91d7 fix copying of extratags from linked places
Didn't work correctly when the extratags of the parent relation
was null.
2014-04-23 21:29:55 +02:00
Sarah Hoffmann
b4a8bc1fea invalidate object itself in place_force_update() 2014-04-21 21:41:17 +02:00
Sarah Hoffmann
488cd726ed suppress recursive updates for places that cannot appear in addresses 2014-04-11 22:57:00 +02:00
Sarah Hoffmann
496e1b0616 give waterways an address but remove them from being part of an address 2014-04-11 22:27:17 +02:00
Sarah Hoffmann
1bb47a6523 allow deletion of large areas of high rank 2014-04-11 22:28:07 +02:00
Sarah Hoffmann
589bad809e force countries into partitions as determined by country code
Avoids to a certain extent propagation of misassignment of
partitions when a country is expanded so far into another
that the centroid ends up in this other country.
2014-04-10 22:55:49 +02:00
Sarah Hoffmann
49fa768f67 remove special handling for place tag values that have fallen out of use 2014-03-29 01:16:08 +01:00
Sarah Hoffmann
f6c7c4fcef truely ignore country codes provided via tags 2014-03-25 23:52:07 +01:00
Sarah Hoffmann
c2417dd1c4 update ref for postcode boundaries
Fixes https://trac.openstreetmap.org/ticket/5140
2014-03-24 13:01:20 +01:00
Sarah Hoffmann
0bdcaa09ec remove landuses if the name is removed
Fixes https://trac.openstreetmap.org/ticket/5104
2014-02-09 08:31:07 +01:00
Sarah Hoffmann
8c2765a000 restrict admin_level change detection to boundary=administrative 2014-02-08 19:23:06 +01:00
Sarah Hoffmann
98b93df83d recreate place objects when admin_level changes
Also added a sanity check to ensure that accidental removal of admin_level
tags on large areas doesn't cause huge reindexing load. That can be disabled
by setting CONST_Limit_Reindexing to false.
2014-02-07 23:37:54 +01:00
Sarah Hoffmann
e0b1e3b66d replace ST_Line_Interpolate_Point with ST_LineInterpolatePoint (DB adaption needed)
Name of function was changed in postgis 2.1 and now prints ugly
deprecation warnings. For older versions of postgis, function
will be renamed to the new name during the setup of the DB.

To update existing databases with postgis < 2.1 run:

ALTER FUNCTION st_line_interpolate_point(geometry, double precision) RENAME TO ST_LineInterpolatePoint

and then reinstall the SQL functions:

./utils/setup.php --create-functions --enable-diff-updates --create-partition-functions
2014-02-07 20:10:14 +01:00
Sarah Hoffmann
10f3a4df23 merge postcodes from address objects
Take the postcode from the first address object that
has one tagged and use that as display postcode.
2013-12-16 00:00:06 +01:00
Sarah Hoffmann
cbbcc2618f make classtype table update work when special schemas are used
patch from https://trac.openstreetmap.org/ticket/5037
2013-11-23 13:31:29 +01:00
Sarah Hoffmann
bb18cc861c avoid adding NULL tokens for frequent full names 2013-10-30 21:11:43 +01:00
Sarah Hoffmann
71429b91b4 take non-admin boundaries out of address computation
fixes #90
2013-10-15 21:10:46 +02:00
Sarah Hoffmann
e3aa2ea787 restrict max admin_level when patching in tag changes into placex 2013-09-19 23:42:15 +02:00
Sarah Hoffmann
f723eb1998 move blocking of highway objects into osm2pgsql 2013-09-19 22:12:33 +02:00
Sarah Hoffmann
de45bafc54 force delete from place if there is no corresponding object in placex
This might happen for nameless landuse/natural objects that are added to place
during initial import but then dropped when being copied to placex.
If they later receive a name, thus becoming valid, then place_insert should
delete the orphan object in place and reinsert it. If they are large enough,
the place_delete trigger prevents them from being removed. The additional
update fools the delete trigger.
2013-09-19 22:22:03 +02:00
Brian Quinion
5d147e76fa only places that are part of the address should be used as a parent 2013-09-09 14:07:33 +01:00
Brian Quinion
1fb5964b0e Allow linking of ways to points (by name) as well as for relation admin areas 2013-06-18 13:09:30 +01:00
Sarah Hoffmann
62b1fba68a make isolated dwellings addressable 2013-05-24 23:37:13 +02:00
Sarah Hoffmann
7d24737e22 make POIs as interpolation points work
Accept any class/type place as an interpolation point.
2013-05-20 10:44:55 +02:00
Sarah Hoffmann
6ccfe99dc2 fix c&p typo 2013-05-16 21:59:06 +02:00
Sarah Hoffmann
7ca4259866 update admin_level when modifying place 2013-05-14 22:55:20 +02:00
Sarah Hoffmann
63a660ccdc prefer local data over fallback for country codes 2013-05-11 21:36:36 +02:00
Sarah Hoffmann
e55abf8105 invalidation of non-street house numbers on update 2013-04-30 20:31:48 +02:00
Sarah Hoffmann
ddc46acd26 add support for house numbers without street 2013-04-27 00:57:18 +02:00
Sarah Hoffmann
23d303124e remove unused columns from word and search_name_* tables
Removes 'trigram' and 'location' from word.
  Removes 'address', 'importance' and 'country_code' from search_name_*.
  Use full geometry in centroid column of search_name_*.

  Requires migration of existing tables. For more info see pull request
  https://github.com/twain47/Nominatim/pull/45
2013-04-09 22:44:05 +02:00
Sarah Hoffmann
ccf47f5370 more bigint fixes 2013-03-02 20:56:46 +01:00
Brian Quinion
b980f8e4e1 Import class:type from linked features to the extratags files. Use place tags (in extratags) as well as rank to determine feature type. i.e. allow a admin_level=6 feature also tagged as a place=city to still be found when doing a city search. 2013-02-28 12:50:47 +00:00
Sarah Hoffmann
b122ae960c name patching with default language for the case where the linked place adds translations 2013-02-26 22:29:16 +01:00
Sarah Hoffmann
777e1cdbd9 remove special handling of mountain passes
clashes with use of place tags on same node,
needs updated osm2pgsql
2013-02-17 14:53:22 +01:00
Brian Quinion
ff61b90baf another int => bigint issue in addressline 2013-02-12 13:28:07 +00:00
Brian Quinion
c461003f19 fix some mised INTEGER to BIGINT conversions 2013-02-09 15:02:06 +00:00
Sarah Hoffmann
12c0944d93 add partial word search term to keywords as well 2013-02-08 19:11:15 +01:00
Brian Quinion
9177a7f56c merge in the postcode and is_in terms into the address vector for search 2013-02-07 18:41:17 +00:00
Brian Quinion
dd44ee625b Delete all records for a linked place so that they are no longer attached to new places 2013-01-24 12:58:16 +00:00
Sarah Hoffmann
3dba772852 delete outdated entries from location_area_country 2013-01-22 08:01:30 +01:00
Brian Quinion
7d250895a5 include zip codes for addresses linked to the street in the address search terms 2012-12-20 17:49:37 +00:00
Brian Quinion
a293328f11 make sure rank 28 to 30 places are assigned a centroid value 2012-12-18 13:37:48 +00:00
Sarah Hoffmann
0eecadb091 invalidate rank >27 places around roads
Ensures that addresses are correctly reparented if a road is inserted
after the address itself was inserted.
2012-12-16 11:56:29 +01:00
Sarah Hoffmann
d45011cc32 add street to the address of rank >27 objects
fixes trac ticket #4711
2012-12-13 20:31:52 +01:00
Brian Quinion
ad89c1f0ca better fallback for address component names (avoid labeling mutliple values 'boundary') and handle situation where a place doesn't have a valid name tag for fallback. 2012-12-12 02:09:18 +00:00
Sarah Hoffmann
59cbfb91cf add maintenance functions for deleting/updating regions 2012-11-29 21:43:33 +01:00
Brian Quinion
678dcbd82a hstore in 9.2 replaces k=>v with hstore(k,v). Update sql to reflect change and introduce compatability function for pre 9.1 postgresql 2012-11-01 01:47:30 +00:00
Sarah Hoffmann
491bc8c339 remove country name from address name vector
Country is already covered by the country_name entries in the
word table, so removing the country from the address vector will
not change results but reduce the size of search_name significantly.

Patch in names from OSM into the word table
to make sure we have complete coverage. Note that bad entries
still need to be removed by hand.
2012-10-08 00:05:23 +02:00
Sarah Hoffmann
ee2863200c Merge remote-tracking branch 'lonvia/partial-search-terms' 2012-09-30 09:51:54 +02:00
Sarah Hoffmann
ce1df51d6e remove mountain ranges from addresses 2012-09-29 18:25:22 +02:00
Sarah Hoffmann
199308ca5e skip is_in items already in address vector 2012-09-29 18:02:32 +02:00
Sarah Hoffmann
3337515052 check for empty relation before linking
Empty relations may indeed appear, if the members of a relation
have been deleted but the tags have been retained. That is
detected as accidental error and the old geometry is retained
in placex while the slim tables contain the new version without members.
2012-09-28 22:58:29 +02:00
Sarah Hoffmann
e73e67001e ignore frequent partial search terms
Adds word counts from a full planet to the word table. There is a
new configuration option CONST_Max_Word_Frequency which allows to
take into account the word count: the value that was set on import
is used to determine if a word is added to the search_name table.
The value during runtime determines if a single term should be
used for partial search or simply be ignored.
2012-09-25 00:36:34 +02:00
Sarah Hoffmann
f1063497ef use rank_address for linking places and boundaries
This manages to match up a lot more places and boundaries below city level.
2012-09-24 20:32:43 +02:00
Sarah Hoffmann
2b8a563b52 fix edge cases when linking nodes
edge cases are: missing node in placex, empty name, empty extratags
2012-09-23 18:06:41 +02:00
Brian Quinion
1c75adb39f defered delete should be done even if the place is otherwise blocked 2012-09-03 14:52:49 +01:00
Brian Quinion
afe30880b4 revert attempt to fix house number re-indexing on update, far too slow 2012-08-31 12:21:07 +01:00
Brian Quinion
8eb39d6a6f limit reindexing to buildings / addresses 2012-08-29 11:33:33 +01:00
Brian Quinion
b1bd98f070 mark placex as needed re-indexin based on parent_place_id too 2012-08-28 19:05:01 +01:00
Brian Quinion
53466bb817 linked places not being updated on road modification 2012-08-28 18:41:02 +01:00
Sarah Hoffmann
9ab82a4f1f avoid reassigning address rank of place itself 2012-08-20 23:33:35 +02:00
Sarah Hoffmann
8e004dca44 make sure first of each address rank is used
get_addressdata should not really return duplicates but if there are
the first result will be the best one, so make sure that one is used
2012-08-19 23:08:51 +02:00
Sarah Hoffmann
55b59ea139 import TIGER data into temporary table
Import TIGER data into a temporary table first that later replaces
the current location_property_tiger table. This way index creation
on the table can be delayed until after the import which should
speed up the import and result in significantly smaller indexes.

Also removed index on parent_place_id as it is covered by
idx_location_property_tiger_housenumber_parent_place_id.
2012-08-18 10:30:42 +02:00
Sarah Hoffmann
8ebc673ebf places that cannot be part of an address still should get an address themselves 2012-07-31 08:27:59 +02:00
Sarah Hoffmann
f5dfd93c5c Merge remote-tracking branch 'lonvia/address-order' 2012-07-21 00:53:53 +02:00
Sarah Hoffmann
21b0bac4e7 adapt distance heuristics for nodes
Include only those nodes that are closer than 1.5 times the distance
of the closest feature of the same address rank.
2012-07-21 00:41:18 +02:00
Sarah Hoffmann
4423592de0 gracefully fail if nodes from an address interpolation are missing 2012-07-13 22:33:09 +02:00
Sarah Hoffmann
afc429fd92 excluded place nodes outside parent boundaries from addresses
Changes slightly the logic which decides if a guessed places
(i.e. a place node) is included in an address: it will be
part of the address only if it is inside the next lower
available boundary. This fixes problematic cases where
neighbouring entities have additional admin levels.
2012-07-03 22:44:06 +02:00
Sarah Hoffmann
8ff0aabaf3 make sure invalid geometries are always deleted from place
This solves a bug with updating large invalid geometries. These
geometries have an entry in place but not in placex. Thus, place_insert
tries to delete the place entry and reinsert it on update. Deletion would
fail because self-intersecting polygons still have an area and large
areas are not deleted.
2012-06-29 22:11:40 +02:00
Sarah Hoffmann
bd529c1f9d be less verbose 2012-06-28 22:09:44 +02:00
Sarah Hoffmann
c433a2d739 remove distinct, causes nearest feature results to be badly reordered 2012-05-24 22:47:34 +02:00
Sarah Hoffmann
1e307392b2 rename ambiguous variables to make postgresql 8.4 happy 2012-05-24 00:25:15 +02:00
Brian Quinion
77f646410e deal with some indexing edge cases 2012-05-22 19:43:49 +02:00
Brian Quinion
8d221e2c82 DB Scheme changes: alter table placex add column calculated_country_code varchar(2);
function changes:
-----------------
Move to ST_PointOnSurface from ST_Centroid in various places to avoid looking up a point outside the polygon
Move to ST_Covers from ST_Contains to include points on admin boundaries
Re-order preference for get_country_code now our data is better. country_osm_grid is now the preffered source.
Fix code to calculate country code in placex_insert, rank_search test was too early
Add extra field to placex 'calculated_country_code' to improve structure of code
Move split_geometery function out of add_location into its own function
Rewrite split_geometery to be more efficient.
Change place_insert to do more updates and less delete/inserts (delete is slow)
Include wikipedia links in details.php ouput
Cleanup no longer used geometry validation (adding overhead)
Include debug statements in function.sql (--DEBUG: ) and add flag to setup.php to turn them on

setup.php:
----------
add flag --disable-token-precalc to speed up debuging
add flag --index-noanalyse to disable analysising DB at rank 4 and 26 (previously removed, but on my local DB it seems to be required)
add flag --enable-diff-updates (modifier to --create-functions) to turn on the code required for diff updates without having to modify functions.sql
add flag --enable-debug-statements (modifier to --create-functions) to turn on debug warning statements

update.php:
-----------
added flag --no-index to import osmosis changes without indexing them
extend the hack to allow import of JOSM generated osm files

country_grid.sql - reference copy of the sql used to generate the country_osm_grid table, needs cleanup
2012-05-22 16:27:42 +02:00
Brian Quinion
f17c5345ec Merge branch 'master' of github.com:twain47/Nominatim 2012-05-15 03:06:12 +02:00
Sarah Hoffmann
c32fa2172d pre-create word list to avoid duplicates due to parallel indexing 2012-05-13 09:15:56 +02:00
Brian Quinion
0ab9c90708 Can't filter on rank_search before it has been assigned 2012-05-11 19:23:44 +02:00
Brian Quinion
b9a3e52a67 updated wikipedia article code to allow for mutliple languages and remove code duplication 2012-05-07 00:18:31 +01:00
Sarah Hoffmann
cc43bedd21 modifiers to encourage use of indices 2012-05-05 11:38:26 +02:00
Brian Quinion
ee0afe8c64 catch utf8 encoding errors and at least stop them aborting processing 2012-05-04 00:58:26 +01:00
Brian Quinion
7164fd310d Merge branch 'master' of github.com:twain47/Nominatim 2012-04-30 01:05:13 +01:00
Brian Quinion
1c0fa81d88 calculate importance from wikipedia 2012-04-30 01:05:06 +01:00
Brian Quinion
709ab1bb03 more name checks in point and poly mergeing, and put the index creation earlier in the process 2012-04-29 16:40:44 +01:00
Sarah Hoffmann
cb01226f29 change code to work with a 64-bit node size osm2pgsql
This breaks the 32-bit node size version.
2012-04-26 21:11:51 +02:00
Brian Quinion
210a899fc9 depreciate place=region due to common miss-use 2012-04-26 13:11:56 +01:00
Brian Quinion
f55e3c1ef8 link nodes and relations using name->'name' index lookup instead of search_name 2012-04-26 13:01:26 +01:00
Sarah Hoffmann
7b430bc731 Merge branch 'continent' of https://github.com/datendelphin/Nominatim 2012-04-20 23:19:52 +02:00
Sarah Hoffmann
6522e531e4 add support for Irish townlands
To work properly, osm2pgsql needs to be updated to the latest version.
2012-04-20 22:13:03 +02:00
Datendelphin
5e6a9638a8 only calculate country for search ranks country and below 2012-04-20 16:17:13 +02:00
Sarah Hoffmann
5f036d9923 ignore postcode boundaries without postcode 2012-04-14 09:27:10 +02:00
Sarah Hoffmann
1a9f05fd3f missing brackets in default name assignment 2012-04-14 08:56:07 +02:00
Datendelphin
6aa42cb36a ranking for mountain_pass 2012-04-06 18:34:45 +02:00
Brian Quinion
e62e75f1a7 Only link polygons on admin_centre is not already found a label AND if exactl search_rank match 2012-04-02 12:48:51 +01:00
Brian Quinion
bfe5119742 Update details.php to show linked places 2012-04-01 02:38:40 +01:00
Brian Quinion
c8c8471e73 Merge branch 'master' of github.com:twain47/Nominatim 2012-04-01 01:48:45 +01:00
Brian Quinion
041b3edf89 Adds code to merge place polygon and points using:
label relation member
  admin_center, admin_centre relation member (with same name)
  exact name, search_rank and location match

Adding this requires a new column and index:
  SELECT AddGeometryColumn('placex', 'centroid', 4326, 'GEOMETRY', 2);
  CREATE INDEX idx_placex_linked_place_id ON placex USING BTREE (linked_place_id);
2012-04-01 01:40:50 +01:00
Sarah Hoffmann
7391e00bc3 postgresq 8.4 backward compatibility: count hash size with akeys instead of hash_to_array 2012-03-30 00:52:08 +02:00
Sarah Hoffmann
9d1845a338 don't use column names for variable names, 8.4 fails on them 2012-03-29 23:48:29 +02:00
Brian Quinion
80cf5df1cd Merge branch 'master' of github.com:twain47/Nominatim 2012-03-26 23:57:24 +01:00
Brian Quinion
b99a043c78 Use GB postcode table as definitive source. resort by pressence of search word in output address and other misc very minor changes not commited from MQ servers 2012-03-22 00:34:56 +00:00
Sarah Hoffmann
57ef20cc7c only re-index addressable places
exclude places from hierarchical updates when they are only addressed
through their parent and do not have a name (thus no entry in search
name)
2012-03-18 16:15:45 +01:00
Sarah Hoffmann
84ca84982d remove array_agg
shipped with postgresql in all supported versions
2012-03-18 16:12:41 +01:00
Sarah Hoffmann
1fa9441113 sanity check for address interpolation 2012-03-10 00:08:06 +01:00
Sarah Hoffmann
e8b43eeaad avoid deletes for new places 2012-03-10 00:06:28 +01:00
Sarah Hoffmann
44f5058deb restrict deferred delete to concerned place
Deleting by osm_type/osm_id goes wrong if the place was reimported
because of a change in geometry, admin_level etc. The newly created
place is deleted as well in this case.
2012-03-09 23:47:25 +01:00
Sarah Hoffmann
01f4723b7b update classtype tables for special phrases along with the places 2012-02-19 10:33:21 +00:00
Sarah Hoffmann
b07185c934 move place=isolated_dwelling up to the same rank as place=locality 2012-02-12 10:12:51 +00:00
Sarah Hoffmann
cc564e2f31 - remove dependency on intarray extension
- new config options for postgresql version and 
  location of osm2pgsql and osmosis binaries
- new option --no-npi for update.php that supresses writing of NPIs in
  osmosis update mode
- add more GRANTs for www-data
2012-01-21 10:21:42 +00:00
Brian Quinion
4d16677d2e update place_id to BIGINT 2011-06-14 13:42:46 +00:00
Brian Quinion
2148d81474 calculate search position based to 'importance' rather than address rank 2011-03-18 09:52:16 +00:00
Brian Quinion
cc6b90b490 drop requirement for zero distance record for each place_addressline, add import_npi_log for import logging 2011-03-11 14:03:18 +00:00
Brian Quinion
c71cb63f38 stop treating capital cities as villages, memory leak on deadlock 2011-02-08 12:09:11 +00:00
Brian Quinion
3ea1b35b32 add logging of broken polygons, improve address export, better diff output in export, bug in address calculation(#3522), reaply #3520, lost in migration 2011-02-07 11:13:18 +00:00
Brian Quinion
31273a42bd aux properties, memory leaks, tweaks to search order 2011-01-21 10:40:44 +00:00
Brian Quinion
2be00f37c1 finally fix adminitrative spelling error, disable fast_update on indexes by default (performance), fixes for incremental updates on new codebase 2011-01-05 14:07:26 +00:00
Brian Quinion
631e8d09ab postcode/zipcode improvements, finish work on handling extratags 2010-12-07 13:41:02 +00:00
Brian Quinion
f5ca016e98 make rank_search consistent 2010-11-18 14:59:39 +00:00
Brian Quinion
a6453a808d remove the road buffer code - made things slower. Plus some more tiger import code 2010-11-17 15:19:25 +00:00
Brian Quinion
7df80bbc6f tigger data import 2010-11-15 16:34:27 +00:00
Brian Quinion
bfe56e6a45 change partition from char to int, partition search_name on country 2010-11-09 10:19:36 +00:00
Brian Quinion
756f328ac9 more multi-processor improvements 2010-11-02 11:37:11 +00:00
Brian Quinion
cb40aa41d5 more partitioning work, os open data postcodes, country list fixes 2010-11-01 15:09:10 +00:00
Brian Quinion
57583f09e3 hstore names / refactoring 2010-10-27 14:05:42 +00:00
Brian Quinion
e6d983474b data partitioning 2010-10-26 15:22:41 +00:00
Brian Quinion
ab6a996772 nominatim refactoring 2010-10-23 23:12:37 +00:00