Commit Graph

224 Commits

Author SHA1 Message Date
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
Sarah Hoffmann
ec9a4ac61b make it run with 64bit and 32bit osm2pgsql
Needs tweaking on the osm2pgsql side, too: the osmid column
needs to have the same format as in osm2pgsql. That means
that the changes are still not compatible with existing installations.
2012-04-26 21:11:51 +02: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
5e167f49d2 search_name.name_vector index is now required during initial index due to code to merge relations and nodes 2012-04-01 13:52:58 +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
8c7bd6beab during initial setup defer creation of non-vital until after nominatim indexing,
analyse DB during nominatim indexing so the query planer uses indexes correctly
2012-02-10 21:01:35 +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
Frederik Ramm
d7f4a7dac6 fix typo mentioned by mathieu monney on mapquest's forum two weeks ago. this typo is responsible for 'location_property_tiger does not exist' errors. 2011-10-21 06:48:04 +00:00
Frederik Ramm
edb1e89be3 create 'file' sequence required by update.php 2011-09-09 16:02:31 +00:00
Brian Quinion
4d16677d2e update place_id to BIGINT 2011-06-14 13:42:46 +00:00
Brian Quinion
adb0b6ae1e bigint update script 2011-06-10 13:41:51 +00:00
Brian Quinion
1028c2444c move partiondef config file to settings, add --create-website option to build symlinks automatically 2011-04-06 18:19:40 +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
46ae96b608 preserve importance in search_name 2011-03-11 14:01: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