44 lines
1.7 KiB
Bash
44 lines
1.7 KiB
Bash
#!/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."
|