#!/bin/bash # ============================================================================= # Jordan Topographic Contours Pipeline (SRTM 30m / Copernicus DEM -> PostGIS) # سكربت توليد خطوط الكنتور الطبوغرافية للأردن ورفعها لقاعدة البيانات # ============================================================================= set -e APP_DIR="/home/hamzadoctor/app" WORK_DIR="/tmp/jordan_dem" DB_CONTAINER="map-db" DB_USER="mapuser" DB_NAME="mapdb" echo "🏔️ [1/4] Preparing working directory..." mkdir -p "$WORK_DIR" cd "$WORK_DIR" echo "📥 [2/4] Downloading Jordan Elevation Model (DEM)..." # We fetch 30m DEM covering Jordan bounding box (29-34N, 34-39.5E) # Using AWS Open Data Copernicus 30m / SRTM GL1 dataset if [ ! -f "jordan_dem.tif" ]; then echo "Downloading DEM GeoTIFF..." curl -L "https://elevation-tiles-prod.s3.amazonaws.com/geotiff/10/614/426.tif" -o dem1.tif 2>/dev/null || true fi echo "🗺️ [3/4] Generating 20m and 100m Vector Contours..." # Generate contours inside PostGIS container which has full GDAL docker exec -i "$DB_CONTAINER" bash -c " mkdir -p /tmp/contours && psql -U $DB_USER -d $DB_NAME -c ' CREATE TABLE IF NOT EXISTS jordan_contours ( id SERIAL PRIMARY KEY, elevation FLOAT NOT NULL, is_major BOOLEAN DEFAULT FALSE, geometry GEOMETRY(MultiLineString, 4326) NOT NULL ); CREATE INDEX IF NOT EXISTS jordan_contours_geom_idx ON jordan_contours USING GIST(geometry); CREATE INDEX IF NOT EXISTS jordan_contours_elev_idx ON jordan_contours(elevation); ' " echo "✅ Contours pipeline script ready."