Commit Graph

200 Commits

Author SHA1 Message Date
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
b80c1cc774 revoke most of www-data's write rights 2013-09-29 17:22:49 +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
Sarah Hoffmann
57facc4767 Revert "increase search radius for named roads"
This reverts commit c2d5303192.
It causes serious performance problems in densely mapped areas.
2013-02-14 00:40:58 +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
Sarah Hoffmann
87b250e739 split partition.sql into table and function parts
Makes it easier to patch partition functions on an already existing
database.
2013-01-19 17:23:21 +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
c2d5303192 increase search radius for named roads
alleviates symptoms of trac ticket #4719
2012-12-17 22:14:11 +01: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
69fb829dd0 remove unused SQL statements 2012-12-02 23:51:45 +01:00
Sarah Hoffmann
0772061958 select rights on import_polygon_delete for web view 2012-11-29 21:58:05 +01:00
Sarah Hoffmann
59cbfb91cf add maintenance functions for deleting/updating regions 2012-11-29 21:43:33 +01:00
Brian Quinion
04134f380d update osm country grid to fully ODBL compatible data set. Update country_grid generation script. 2012-11-14 21:46:48 +00:00
Sarah Hoffmann
fb9a0414ff give www-data select rights on query_log 2012-11-11 16:41:06 +01:00
Sarah Hoffmann
0e3ac756c9 extend error reporting for invalid geometries 2012-11-08 00:06:47 +01:00
Brian Quinion
a5d5a92304 include a bit of extra details for polygon errors in output on details.php page 2012-11-05 14:00:54 +00: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
Brian Quinion
1d3ca4faa7 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:46:19 +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
5c3cb8f2f8 don't create index idx_placex_sector twice 2012-07-31 00:42:55 +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
c36e3d9c7e can't have a unique index on placex - only on place 2012-05-22 20:25:18 +02:00
Brian Quinion
f1e381fdd4 fix broken field name / committed debug 2012-05-22 20:21:58 +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
7c4b68d2ea move index over nameaddress_vector back to delayed index creation
No longer needed for linking places.
2012-05-13 11:38:50 +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