Replace osmborder with imposm/SQL (#1213)

Fixes #1156
Fixes #810
Fixes #1228

This PR replaces `osmborder`, which is no longer maintained, with `imposm` mappings and SQL code to generate borders.  Key features that were moved into the imposm/SQL layer:
1. Grouping by `osm_id` and aggregating by lowest `admin_level` value so that there's only one copy of ways that are members of multiple relations.
2. Filtering out of point features in boundary relations (typically `admin_centre` and `label` roles).
3. Move disputed boundary detection logic into SQL.

This will increase the database size slightly because of the limits of what imposm can do, as some of the filtering is done in the SQL layer after importing, rather than being done in `osmborder`.
This commit is contained in:
Brian Sperlongano
2021-09-29 05:08:55 -04:00
committed by GitHub
parent bfdbd829dc
commit b4b897999d
9 changed files with 187 additions and 404 deletions

View File

@@ -153,13 +153,12 @@ jobs:
make start-db
profile 1_data make import-data
profile 2_osm make import-osm
profile 3_borders make import-borders
if [ -f ../ci_cache/wikidata-cache.json ]; then
cp ../ci_cache/wikidata-cache.json cache/wikidata-cache.json
fi
profile 4_wikidata make import-wikidata
profile 5_sql make import-sql
profile 3_wikidata make import-wikidata
profile 4_sql make import-sql
# Get database total size, in MB
# Once Makefile has a few more improvements, we can use this approach instead: