Sarah Hoffmann [Tue, 15 Nov 2022 10:37:30 +0000 (11:37 +0100)]
remove dependent territories from country list
Removes territories of US, France, Australia and Netherlands from the
country list. These territories have their own country code (which is
why they are in the list in the first place) but are mapped as part of
the admin_level 2 relations for the respective parent countries.
Therefore they never had any places attached. In practical terms, the
change only affects the number of tables created.
Sarah Hoffmann [Fri, 4 Nov 2022 13:50:07 +0000 (14:50 +0100)]
change updates to handle delete/insert workflow
This makes Nominatim compatible with osm2pgsql's default update
modus operandi of deleting and reinserting data. Deletes are diverted
into a TODO table instead of executing them. When data is reinserted,
the corresponding entry in the TODO table is deleted. After updates are
finished, the remaining entries in the TODO table are executed, doing
the same work as the delete trigger did before.
The new behaviour also works against the gazetteer output with its
insert-only mechanism.
Sarah Hoffmann [Sat, 5 Nov 2022 13:33:28 +0000 (14:33 +0100)]
ignore interpolations without parent on reverse search
If no parent can be found for an interpolation, there is most
likely a data error involved. So don' t show these interpolations
in reverse search results.
Sarah Hoffmann [Wed, 5 Oct 2022 13:16:14 +0000 (15:16 +0200)]
fix flaky API test
The search 'landstr' produces many duplicates so that with
some bad luck 4 or less results may appear. Disable deduplication
to make it more predictable.
Sarah Hoffmann [Tue, 27 Sep 2022 20:12:48 +0000 (22:12 +0200)]
simplify use of secondary importance
The values in the raster are already normalized between 0 and 2**16,
so a simple conversion to [0, 1] will do.
Check for existance of secondary_importance table statically when
creating the SQL function. For that to work importance tables need
to be created before the functions.
Sarah Hoffmann [Wed, 21 Sep 2022 12:25:07 +0000 (14:25 +0200)]
further split up the big geometry index
Adds partial indexes for all geometry queries used during import.
A full index is not necessary anymore at that point. Still create
the index afterwards for use in queries.
Also adds documentation for all indexes on where they are used.
Sarah Hoffmann [Wed, 21 Sep 2022 08:38:58 +0000 (10:38 +0200)]
consolidate indexes over geometry_sectors
The index over geometry_sectors are mainly used for ordering
the places which need indexing. That means they function effectively
as a TODO list. Consolodate them so that they always only contain
the places which are still to do. Also add the appropriate index
for the boundary indexing phase.
Sarah Hoffmann [Sat, 13 Aug 2022 08:42:46 +0000 (10:42 +0200)]
ignore irrelevant extra tags on address interpolations
When deciding if an address interpolation has address information, only
look for addr:street and addr:place. If they are not there go looking
for the address on the address nodes. Ignores irrelevant tags like
addr:inclusion.
Tareq Al-Ahdal [Fri, 12 Aug 2022 22:13:05 +0000 (06:13 +0800)]
Enhanced and refactored 'collect_os_info.py'
Changed the script to functional programming paradigm to remove the big number of local attributes to decrease memory usage when running it. Additional OS info are now included.
Sarah Hoffmann [Thu, 11 Aug 2022 21:44:09 +0000 (23:44 +0200)]
more invalidations when boundary changes rank
When a boundary or place changes its address rank, all places where
it participates as address need to be potentially reindexed.
Also use the computed rank when testing place nodes against
boundaries. Boundaries are computed earlier.
Sarah Hoffmann [Fri, 29 Jul 2022 13:14:11 +0000 (15:14 +0200)]
overhaul the token analysis interface
The functional split betweenthe two functions is now that the
first one creates the ID that is used in the word table and
the second one creates the variants. There no longer is a
requirement that the ID is the normalized version. We might
later reintroduce the requirement that a normalized version be available
but it doesn't necessarily need to be through the ID.
The function that creates the ID now gets the full PlaceName. That way
it might take into account attributes that were set by the sanitizers.
Finally rename both functions to something more sane.