Files
maps-saas/infrastructure/scripts/build_jordan_contours.sh
T

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."