Sarah Hoffmann
56201feb28
simplify very large polygons non used in addresses
...
Polygons with rank_address = 0 are only used in search and (rarely)
for reverse lookup. Geometries do not need to be precise for that
because topology does not matter. OSM has some very large polygons
of natural features with sizes of more than 10MB. Simplify these
polygons to keep the database and indexes smaller.
2024-02-27 10:16:18 +01:00
lujoh
06204dfcd8
moved sql function flush_deleted_places() to utils
2023-10-17 18:22:27 -04:00
Sarah Hoffmann
c5f5ab5363
be more strict about removal from place_to_be_deleted
...
If the type of a place is changed and then the same insert issued
again, the old data will effectively remain in the table.
Fixed #3168 .
2023-08-25 14:22:49 +02:00
Sarah Hoffmann
3f38091421
split query that deletes old objects from placex
...
placex only has partial indexes over OSM types, so the OSM type
needs to be hardcoded to ensure these indexes are used.
2023-01-02 17:25:38 +01:00
Sarah Hoffmann
a46348da38
bdd: test placex content when updating with osm2pgsql
2022-11-14 14:48:44 +01:00
Sarah Hoffmann
36cf0eb922
reorganize handling of place type changes
...
Always replace existing entries in place, never delete them because
a direct delete will cause conflicts.
2022-11-14 13:57:26 +01:00
Sarah Hoffmann
2fac507453
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.
2022-11-10 09:38:23 +01:00
Sarah Hoffmann
a9e3329c39
country_name: use separate columns for names from OSM
...
This allows us to distinguish between base names and imported ones
and consiquently removing imported ones if necessary.
2022-02-23 09:23:06 +01:00
Sarah Hoffmann
fbc8884693
restrict change propagation to interpolation lines
...
Also means that Postgresql will use the right index for the query.
2022-01-28 11:05:37 +01:00
Sarah Hoffmann
638ed15ada
improve handling von updates on nodes in interpolations
...
Use the same update mechanism as for updates on the interpolations
themselves. Updates must solely happen in place_insert as this is
the place where actual changes of the data happen.
2022-01-27 11:14:55 +01:00
Sarah Hoffmann
c0d8b95f67
update interpolations instead of deleting and recreating
2022-01-27 11:14:55 +01:00
Sarah Hoffmann
b44493e7f2
reorganise place_insert trigger
...
Code cleanup and formatting as well as minor improvements, in
particular removal of unnecessary code.
2022-01-24 09:12:50 +01:00
Sarah Hoffmann
c3788d765e
add consistent SPDX copyright headers
2022-01-03 16:23:58 +01:00
Sarah Hoffmann
6d7c067461
force update on rank30 children when place name changes
...
Name changes may have an effect on parenting. Don't update
surrounding rank30 objects with addr:place tags as this is
potentially too expensive.
2021-09-27 11:04:17 +02:00
Sarah Hoffmann
316205e455
force update of surrounding houses when street name changes
...
When the street changes its name then this may cause changes
in the parenting of rank-30 objects with an addr:street
tag.
Fixes #2242 .
2021-09-27 10:22:41 +02:00
Sarah Hoffmann
e7b4fc70e7
make sure old data gets deleted on place type change
...
When changing from some other place type to place=postcode
make sure that the old place type entry in the place table
is deleted.
2021-06-18 10:58:41 +02:00
Sarah Hoffmann
457982e1d2
update postcode in place if it already exists
2021-06-18 00:28:52 +02:00
AntoJvlt
ddf866c4c7
Always delete old placex entry for type=postcode when inserting a new one into the place table
2021-06-12 15:35:51 +02:00
AntoJvlt
9e07a197e9
Handle postcode type change in place insert trigger
2021-06-09 09:31:32 +02:00
AntoJvlt
a4733eed90
Use place instead of placex to compute postcodes
2021-06-09 09:31:32 +02:00
Sarah Hoffmann
d2bd6aa78d
introduce jinja2 for preprocessing SQL
...
Replaces various hand-crafted replacements of varying format with
a single Jinja2 templating mechanism. Allows full access to
configuration if necessary.
2021-03-03 17:51:08 +01:00
Sarah Hoffmann
b9517c99ae
rename sql directory to lib-sql
...
Also introduces a separate constant for the sql directory, so that
it can be put separately from the rest of the data if required.
2021-02-09 15:26:56 +01:00