chatgpt
This commit is contained in:
commit
a9d22e8312
18 changed files with 2308 additions and 0 deletions
73
scripts/import-vg250.sh
Executable file
73
scripts/import-vg250.sh
Executable file
|
|
@ -0,0 +1,73 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
if [ "$#" -ne 1 ]; then
|
||||
echo "usage: $0 DE_VG250.gpkg"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
INPUT="$1"
|
||||
|
||||
if [ ! -f "$INPUT" ]; then
|
||||
echo "file not found: $INPUT"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
: "${DATABASE_URL:?DATABASE_URL must be set}"
|
||||
|
||||
echo "Available layers:"
|
||||
ogrinfo "$INPUT" | sed -n '1,80p'
|
||||
|
||||
echo
|
||||
echo "Importing vg250_krs..."
|
||||
|
||||
ogr2ogr \
|
||||
-f PostgreSQL \
|
||||
"$DATABASE_URL" \
|
||||
"$INPUT" \
|
||||
-nln vg250_krs_import \
|
||||
-nlt PROMOTE_TO_MULTI \
|
||||
-t_srs EPSG:4326 \
|
||||
-overwrite
|
||||
|
||||
echo "Import completed."
|
||||
|
||||
psql "$DATABASE_URL" <<'SQL'
|
||||
TRUNCATE county_boundaries RESTART IDENTITY;
|
||||
|
||||
INSERT INTO county_boundaries (
|
||||
name,
|
||||
geometry
|
||||
)
|
||||
SELECT
|
||||
COALESCE(
|
||||
NULLIF("GEN", ''),
|
||||
NULLIF("BEZ", ''),
|
||||
NULLIF("ARS", ''),
|
||||
'unknown'
|
||||
) AS name,
|
||||
|
||||
ST_Multi(
|
||||
ST_CollectionExtract(
|
||||
ST_MakeValid(wkb_geometry),
|
||||
3
|
||||
)
|
||||
)::geometry(MultiPolygon,4326)
|
||||
|
||||
FROM vg250_krs_import
|
||||
|
||||
WHERE wkb_geometry IS NOT NULL;
|
||||
|
||||
DROP TABLE vg250_krs_import;
|
||||
|
||||
CREATE INDEX county_boundaries_geometry_idx
|
||||
ON county_boundaries
|
||||
USING GIST (geometry);
|
||||
|
||||
ANALYZE county_boundaries;
|
||||
SQL
|
||||
|
||||
echo
|
||||
echo "Imported counties:"
|
||||
psql "$DATABASE_URL" \
|
||||
-c "SELECT id, name FROM county_boundaries ORDER BY name;"
|
||||
Loading…
Reference in a new issue