state
This commit is contained in:
parent
eda8e76a20
commit
45bcc13788
3 changed files with 678 additions and 174 deletions
|
|
@ -16,24 +16,55 @@ fi
|
|||
: "${DATABASE_URL:?DATABASE_URL must be set}"
|
||||
|
||||
echo "Available layers:"
|
||||
ogrinfo "$INPUT" | sed -n '1,80p'
|
||||
ogrinfo "$INPUT" | sed -n '1,120p'
|
||||
|
||||
echo
|
||||
echo "Importing vg250_krs..."
|
||||
echo "Inspecting vg250_krs..."
|
||||
ogrinfo "$INPUT" vg250_krs -so
|
||||
|
||||
echo
|
||||
echo "Importing only vg250_krs..."
|
||||
|
||||
# Remove an old failed import.
|
||||
psql "$DATABASE_URL" <<'SQL'
|
||||
DROP TABLE IF EXISTS vg250_krs_import CASCADE;
|
||||
SQL
|
||||
|
||||
# IMPORTANT:
|
||||
# The layer name is explicitly specified here.
|
||||
ogr2ogr \
|
||||
-f PostgreSQL \
|
||||
"$DATABASE_URL" \
|
||||
"$INPUT" \
|
||||
vg250_krs \
|
||||
-nln vg250_krs_import \
|
||||
-nlt PROMOTE_TO_MULTI \
|
||||
-t_srs EPSG:4326 \
|
||||
-lco GEOMETRY_NAME=wkb_geometry \
|
||||
-overwrite
|
||||
|
||||
echo "Import completed."
|
||||
echo
|
||||
echo "Source import completed."
|
||||
|
||||
echo
|
||||
echo "Imported source columns:"
|
||||
psql "$DATABASE_URL" <<'SQL'
|
||||
SELECT
|
||||
column_name,
|
||||
data_type
|
||||
FROM information_schema.columns
|
||||
WHERE table_name = 'vg250_krs_import'
|
||||
ORDER BY ordinal_position;
|
||||
SQL
|
||||
|
||||
echo
|
||||
echo "Creating county boundaries..."
|
||||
|
||||
psql "$DATABASE_URL" <<'SQL'
|
||||
TRUNCATE county_boundaries RESTART IDENTITY;
|
||||
BEGIN;
|
||||
|
||||
TRUNCATE county_crossings;
|
||||
TRUNCATE county_boundaries RESTART IDENTITY CASCADE;
|
||||
|
||||
INSERT INTO county_boundaries (
|
||||
name,
|
||||
|
|
@ -41,9 +72,9 @@ INSERT INTO county_boundaries (
|
|||
)
|
||||
SELECT
|
||||
COALESCE(
|
||||
NULLIF("GEN", ''),
|
||||
NULLIF("BEZ", ''),
|
||||
NULLIF("ARS", ''),
|
||||
NULLIF(TRIM(gen), ''),
|
||||
NULLIF(TRIM(bez), ''),
|
||||
NULLIF(TRIM(ars), ''),
|
||||
'unknown'
|
||||
) AS name,
|
||||
|
||||
|
|
@ -52,13 +83,29 @@ SELECT
|
|||
ST_MakeValid(wkb_geometry),
|
||||
3
|
||||
)
|
||||
)::geometry(MultiPolygon,4326)
|
||||
)::geometry(MultiPolygon, 4326) AS geometry
|
||||
|
||||
FROM vg250_krs_import
|
||||
|
||||
WHERE wkb_geometry IS NOT NULL;
|
||||
WHERE
|
||||
wkb_geometry IS NOT NULL
|
||||
AND NOT ST_IsEmpty(wkb_geometry);
|
||||
|
||||
COMMIT;
|
||||
SQL
|
||||
|
||||
echo
|
||||
echo "Removing temporary import table..."
|
||||
|
||||
psql "$DATABASE_URL" <<'SQL'
|
||||
DROP TABLE vg250_krs_import;
|
||||
SQL
|
||||
|
||||
echo
|
||||
echo "Recreating spatial index..."
|
||||
|
||||
psql "$DATABASE_URL" <<'SQL'
|
||||
DROP INDEX IF EXISTS county_boundaries_geometry_idx;
|
||||
|
||||
CREATE INDEX county_boundaries_geometry_idx
|
||||
ON county_boundaries
|
||||
|
|
@ -68,6 +115,32 @@ ANALYZE county_boundaries;
|
|||
SQL
|
||||
|
||||
echo
|
||||
echo "Imported counties:"
|
||||
psql "$DATABASE_URL" \
|
||||
-c "SELECT id, name FROM county_boundaries ORDER BY name;"
|
||||
echo "=========================================="
|
||||
echo " Imported counties"
|
||||
echo "=========================================="
|
||||
|
||||
psql "$DATABASE_URL" <<'SQL'
|
||||
SELECT
|
||||
COUNT(*) AS total,
|
||||
COUNT(*) FILTER (WHERE geometry IS NOT NULL) AS with_geometry,
|
||||
COUNT(*) FILTER (WHERE ST_IsValid(geometry)) AS valid_geometry
|
||||
FROM county_boundaries;
|
||||
SQL
|
||||
|
||||
echo
|
||||
echo "First 20 counties:"
|
||||
echo
|
||||
|
||||
psql "$DATABASE_URL" <<'SQL'
|
||||
SELECT
|
||||
id,
|
||||
name,
|
||||
ST_GeometryType(geometry) AS geometry_type,
|
||||
ST_SRID(geometry) AS srid
|
||||
FROM county_boundaries
|
||||
ORDER BY name
|
||||
LIMIT 20;
|
||||
SQL
|
||||
|
||||
echo
|
||||
echo "Import completed successfully."
|
||||
|
|
|
|||
Loading…
Reference in a new issue