Commit Graph

459 Commits

Author SHA1 Message Date
Sarah Hoffmann
dc2911ae72 normalize postcodes before adding to location tables 2017-08-19 19:37:05 +02:00
Sarah Hoffmann
d59d57957c precompute postcodes
Set postcode column to the best guess for the postcode for
the place.
2017-08-19 19:37:05 +02:00
Sarah Hoffmann
4e792546e8 add postcode to location_area tables 2017-08-19 19:37:05 +02:00
Sarah Hoffmann
79aa74b771 remove unused loaddata file
Load data is being done in the setup script.
2017-08-19 19:37:05 +02:00
Sarah Hoffmann
bdec4e6488 replace AddGeometryColumn() functions
Directly add the columns to the table definitions instead.
2017-08-19 19:37:05 +02:00
Sarah Hoffmann
71ddeb40a6 remove now useless getNearestPostcode function
Most postcodes are not in the location-area tables anymore.
2017-08-19 19:37:05 +02:00
Sarah Hoffmann
80ef6cbaab add indexing of artificial postcodes 2017-08-19 19:37:05 +02:00
Sarah Hoffmann
15dbb6383c add new location_postcode table
Artifical postcode centroids are now saved in there.
2017-08-19 19:37:05 +02:00
Sarah Hoffmann
3e9fb0dc84 fix syntax typo 2017-08-14 22:34:53 +02:00
Sarah Hoffmann
2daa4ed813 add extensive debug messages for placex 2017-06-15 23:17:34 +02:00
Sarah Hoffmann
5e5713b90f Ignore postcodes with comma and semicolon when computing address
OSM has sometimes postcode lists for cities which should
simply be ignored.

Fixes #673.
2017-06-07 23:19:56 +02:00
Sarah Hoffmann
9785aff76c restrict linked places to place nodes
Avoids getting the wrong entry when the linked place has
double tagging.

Fixes #573.
2017-06-07 21:32:02 +02:00
Sarah Hoffmann
5a5691b5b7 force update of linker when linkee is updates
Potential name changes need to be added to the linker's
name hstore.

Fixes #170.
2017-06-06 23:46:44 +02:00
Sarah Hoffmann
623d58b67e Remove boundries when downgrading from polygon to line
Fixes #135.
2017-06-06 21:59:36 +02:00
Sarah Hoffmann
b9cc47ee67 Revert "use "char" type when refering to osm_type column"
This reverts commit 2dd7f0156a.
2017-06-05 09:07:47 +02:00
Sarah Hoffmann
e3fb706c65 add normalized version of special search terms on import
Requires the PHP bindings for libicu, so add that as a requirement.
2017-06-04 23:12:09 +02:00
Sarah Hoffmann
2dd7f0156a use "char" type when refering to osm_type column
When using an explicit cast to char(1) when refering to the
osm_type column postgres won't use the index in some cases.
Observed only on postgres 9.5 from the original Postgres
reporsitories.

Fixes #741.
2017-06-04 14:48:53 +02:00
Sarah Hoffmann
002fa35b92 when linking places compute maximum importance
The linker and the linkee might have different wikipedia
tags and thus different importances. Prefer the higher
value.

Fixes #562.
2017-05-30 23:36:59 +02:00
Sarah Hoffmann
bd4b1b2d08 switch from osmosis to pyosmium for updates
Pyosmium comes with convenient functions for finding the
right state and does not require external files for
rembering the state. Updates can now conveniently
set up by simply running ./utils/update.php --init-updates
and state is kept directly in the import_status table.

This change requires an update in the database schema.
Run the following to update:

ALTER TABLE import_status ADD COLUMN sequence_id integer;
ALTER TABLE import_status ADD COLUMN indexed boolean;
ALTER TABLE import_osmosis_log ADD COLUMN batchseq integer;
2017-05-25 16:26:09 +02:00
Sarah Hoffmann
d8ade1c527 remove another use of place.country_code 2017-04-23 22:46:54 +02:00
Sarah Hoffmann
4c7145c293 Merge branch 'tetris' of https://github.com/roques/Nominatim into roques-tetris 2017-04-20 20:56:44 +02:00
Christian von Roques
4d4b95923e use SMALLINT for ranks and partition; reorder columns for alignment 2017-04-19 02:18:44 +02:00
Sarah Hoffmann
166737fb76 also use address column for word count computation 2017-04-18 22:11:09 +02:00
Christian von Roques
b6be33cded explicitly name columns at INSERT 2017-04-18 13:36:02 +02:00
Sarah Hoffmann
1e30e578e0 Merge pull request #700 from lonvia/structured-address-info
Move address information into hstore column
2017-04-13 22:12:19 +02:00
Sarah Hoffmann
8138729aea use centroid for near feature search on rank 30
Rank 30 has some very large geometries (peninsulas, time zones,
etc.) for which a near feature search for the full geometry is
too expensive, so do the search on the centroid only.
2017-04-09 23:12:35 +02:00
Sarah Hoffmann
9bb81731f8 fix operator precedence for hstore 2017-04-09 10:06:31 +02:00
Sarah Hoffmann
050b0a2ced remove street and addr_place columns in placex
The information is onyl needed for parenting,
so no need to store it permanently.
2017-04-08 19:58:10 +02:00
Sarah Hoffmann
3bb903cf92 Remove street and addr_place from location_property_osmline
Derived columns are not needed because parent information is
always computed from scratch. So the columns are just duplicate
information.

Also get address information on nodes from address columns. The
other columns are not necessarily reliable when the node have not
been indexed yet.
2017-04-08 19:58:10 +02:00
Sarah Hoffmann
41afcaddd5 adapt more BDD tests to hstore 2017-04-08 19:58:09 +02:00
Sarah Hoffmann
8c7fa0213f fix DB bd tests for address hstore 2017-04-08 19:57:36 +02:00
Sarah Hoffmann
c8e79397f5 introduce address column for place tables
The column is a hstore containing the full OSM tag with key and
value.
2017-04-08 18:58:26 +02:00
Sarah Hoffmann
43eedfd253 abort osmline update correctly when way nodes are missing
Fixes #695.
2017-03-30 22:14:47 +02:00
ImreSamu
193cf66328 fix sql warnings
* ERROR:  sequence "seq_postcodes" does not exist
* ERROR:  table "import_polygon_error" does not exist
* ERROR:  table "import_polygon_delete" does not exist
* ERROR:  sequence "file" does not exist
2017-03-27 01:02:29 +02:00
Sarah Hoffmann
b3186d07f5 for roads add all intersecting boundaries to address list
When roads cross boundaries, both administrative entities should
be added to the address list, so that both entities can be used
for searching. Also allows in a second step to better sort out
addresses of POIs on such roads.

Fixes #121.
2017-03-18 12:17:48 +01:00
Sarah Hoffmann
c48fb88e6b move interpolaton computation into indexing step
The interpolaton computation needs information from the osm2pgsql
slim tables which may not be available when the data is inserted.

Insertion now only adds a line with basic address information to
location_property_osmline. The line is then split during the
indexing, leading to more lines (which are complete in that case)
being inserted.

Fixes #598.
2017-02-26 16:46:41 +01:00
Sarah Hoffmann
c897b96c41 don't delete names on unknown country boundaries
If a country boundary has a country_code that is unknown to
Nominatim, it would delete all names because the coalascing
with country_name would not yield any result.
2017-02-18 13:51:21 +01:00
Rémi BOURGAREL
8a2e401025 Change on get_addressdata check for matching the condition in placex_update
On placex_update we stop the indexing to the first parent if the rank_search is above 27. We should do the same check in get_adressdata, because place with a rank_address != 30 and a search_rank > 27 will have only 1 parent.
https://github.com/twain47/Nominatim/issues/534
2016-10-04 15:49:31 +02:00
Sarah Hoffmann
524bd47315 fill place and osmline independently for interpolations on update
interpolation lines may be missing in osmline when the interpolation
is broken, so we cannot conclude that a way is not in place, just
because there are no entries in location_property_osmline.
2016-05-28 18:18:18 +02:00
Sarah Hoffmann
8b91284f7f reintroduce addr:place for interpolation
It is perfectly valid that interpolated addresses refer to
something else than a street.

Also gets rid of the maximum interpolation size. As we don't
expand, arbitrary sizes are fine.
2016-05-15 14:24:43 +02:00
Sarah Hoffmann
94d795883f update comments and formatting 2016-05-15 12:37:20 +02:00
Sarah Hoffmann
28041cbbd9 remove duplicate index 2016-05-15 11:44:54 +02:00
Sarah Hoffmann
821949f087 get housenumber data for interpolations from place table
The placex table may not yet be filled when the interpolation
lines are computed.
2016-05-15 09:44:00 +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
db719d489f index on geometry of interpolation lines, and more improvements. 2016-04-27 17:42:59 +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
a32f6c66b8 remove unused location_property_-partion- tables 2016-04-23 10:07:57 +02:00
Sarah Hoffmann
d01d0c13f4 Merge pull request #425 from lonvia/disable-aux-tables
make tables for external data (Tiger and aux) configurable
2016-04-12 23:00:24 +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
009882999f clean up query logging
- remove query_log table, keeping only new_query_log
- drop unused import_npi_log table
- disable DB logging per default
- use file logging structure from osm.org
2016-04-07 20:37:27 +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
a0a5100807 remove unused files 2016-03-28 22:30:56 +02:00
Sarah Hoffmann
23fa6018a4 make sure linked places get recomputed when unlinked
When linked the place may not be in the search index,
so it must be reindexed when being unlinked. The status
change will only have an effect during the subsequent
update, so change tests to that effect.
2016-03-28 09:51:29 +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
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
Sarah Hoffmann
9fb2bf36be streamline get_name_by_language()
patch by mdeweerd
2015-09-24 23:52:03 +02:00
Sarah Hoffmann
134553b184 ignore man_made objects in reverse search
fixes https://trac.openstreetmap.org/ticket/5339
2015-08-04 21:44:19 +02:00
Sarah Hoffmann
dd97528726 get rid of sector index, no longer used 2015-05-21 23:35:04 +02:00
Sarah Hoffmann
2f8a29ba39 merge addr:postcode from houses into search index of attached road
Makes house number searchable by postcode when the postcode is
only available in addr:postcode.
2015-05-08 19:34:33 +02:00
Sarah Hoffmann
4ba93dcb50 remove debug output 2015-05-06 21:51:35 +02:00
Sarah Hoffmann
6727c36298 places marked as linked should use the address of the link origin
fixes #269
2015-05-03 17:31:14 +02:00
Sarah Hoffmann
b82c8ceab9 ignore places without housenumber in interpolations
fixes trac ticket 5311
2015-04-18 17:47:49 +02:00
Sarah Hoffmann
4a3dc3187c clean out dead sql code 2015-03-30 23:43:27 +02:00
Sarah Hoffmann
2bcd1aa194 avoid calling add_location for non-addressing features 2015-03-25 22:25:03 +01:00
Sarah Hoffmann
86b4df1e81 only address features can be linked with placex 2015-03-23 22:04:43 +01:00
Sarah Hoffmann
6f98fa0fb3 interpolations: snap lines to points, not vice versa
Avoids the occasional rounding problem which might occur when splitting
a line anywhere but on a support point, see postgis doc for ST_Split.

Fixes #253
2015-03-08 18:25:51 +01:00
Sarah Hoffmann
1eb52879c6 replace final reference to way-node index with spatial lookup 2015-03-05 22:00:27 +01:00
Sarah Hoffmann
27ce2afbcf reorder parenting search for POI level
Push back the more expensive node-on-way parenting which is rather
rare anyways. Prefer assodicatedStreet relations and addr:* tags
instead.
2015-03-05 22:00:27 +01:00
Sarah Hoffmann
30f087b168 switch interpolation node to using the interpolation osm id 2015-03-05 22:00:27 +01:00
Sarah Hoffmann
1ce3307b7a fix typos and make interpolation tests run 2015-03-05 22:00:26 +01:00
Sarah Hoffmann
a25810d317 write interpolated house numbers complete out and avoid reindexing 2015-03-05 22:00:26 +01:00
Sarah Hoffmann
394a00f521 computation of parent of interpolations 2015-03-05 22:00:26 +01:00
Sarah Hoffmann
9e3e7bf791 switch remaining GRANTs to configurable web user
fixes #252
2015-03-05 21:55:20 +01:00
Sarah Hoffmann
c6d8e91b88 add script for recomputing word frequencies 2015-02-27 19:53:11 +01:00
Sarah Hoffmann
82e5a95f16 also drop interpolation index 2015-02-21 14:17:34 +01:00
Sarah Hoffmann
b41a5c962c drop unnecessary index 2015-02-19 08:07:04 +01:00
Sarah Hoffmann
5d87136969 reduce search area for secondary adresses when areas are involved 2015-02-09 19:35:15 +01:00
Sarah Hoffmann
0de6f37647 remove address lines with fully duplicated keywords
Mainly there to avoid having many duplicated postcode entries
in place_addressline from nodes which have tags where only
addr:postcode is recognized by Nominatim (e.g. fire hydrants).
2015-02-09 19:35:15 +01:00
Sarah Hoffmann
021702f190 tablespace definition belongs before the where clause 2015-01-20 20:45:16 +01:00
Sarah Hoffmann
138b8a2ada remove unused functions 2015-01-16 21:36:35 +01:00
Sarah Hoffmann
f156da6b63 support tablespaces and www user config in tiger import 2015-01-11 13:44:39 +01:00
Sarah Hoffmann
a855bfc6e5 be more restrictive with sql select when computing linked waterways 2014-12-30 22:55:24 +01:00
Sarah Hoffmann
c391479c58 reorganise table creation
- remove unused tables
- make apache user configurable
- introduce configurable tablespaces
2014-12-02 00:05:21 +01:00
Sarah Hoffmann
59de7c5a9b fix address interpolation for self-intersecting ways 2014-11-03 22:42:34 +01:00
Sarah Hoffmann
dd18e74079 remove all unidentified large areas from addresses 2014-10-08 23:33:46 +02:00
Sarah Hoffmann
8989776bfd remove most landuses from addresses 2014-10-08 20:47:32 +02:00
Sarah Hoffmann
d899b3b04c reintroduce index on gb_postcode 2014-10-08 20:43:19 +02:00
Sarah Hoffmann
2d6f00945a rewrite address interpolation so that planet_osm_node is not needed
This allows address interpolations to work correctly when flatnode storage
is used for node coordinates.

To fix interpolations in an existing database, follow these steps:

  * invalidate all interpolations (in psql):
    `UPDATE placex SET indexed_status=2 WHERE rank_search = 28`
  * disable updates:
    ./utils/setup.php --create-functions --create-partition-functions
  * reindex the whole lot:
    ./utils/update.php --index --index-instances <number of your cpus>
  * enable updates again:
    ./utils/setup.php --create-functions --enable-diff-updates --create-partition-functions
2014-10-05 22:16:02 +02:00
Sarah Hoffmann
b6fd7b1857 lower significance of postcodes in Singapure
Postcodes with 6 digits designate delivery points, i.e. houses.
2014-09-11 19:42:52 +02:00
Sarah Hoffmann
a7d3146967 remove special casing of houses and postcodes in place import 2014-09-08 22:27:24 +02:00
Sarah Hoffmann
031f20c3e6 add simplified geometry index for reverse queries 2014-09-07 17:17:49 +02:00
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
Brian Quinion
7c54c81b77 update tiger import for changes to functions.sql 2014-06-26 17:12:39 +01:00
Sarah Hoffmann
0ab547793d inherit postcode from street to poi 2014-05-26 22:42:03 +02:00
Sarah Hoffmann
665446e1a6 omit places with zero address rank from address lookup tables 2014-05-18 21:45:29 +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
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
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