Script that imports the SRTM data in a PostGIS (PostgreSQL) database. http://wiki.openstreetmap.org/index.php/Route_altitude_profiles_SRTM#SRTM_import GDAL install: https://www.gisinternals.com/release.php Select release release-1930-x64-gdal-3-8-5-mapserver-8-0-1 Install gdal-3.8.5-1930-x64-core.msi Extract release-1930-x64-gdal-3-8-5-mapserver-8-0-1-libs.zip to %gdal_libs% Rename %gdal_libs%\lib\gdal_i.lib to gdal.lib Adding Path Variables: PATH ;C:\Program Files\GDAL GDAL_DATA=c:\Program Files\GDAL\gdal-data\ GDAL_DRIVER_PATH=c:\Program Files\GDAL\gdalplugins\ pip install wheel pip install setuptools pip install --global-option=build_ext --global-option="-I%gdal_libs%/include" --global-option="-l%gdal_libs%/lib" gdal[numpy] Usage: First run the tests that come with this script: python test/test_download.py Then download the SRTM source files (635 MB for Australia): $ python download.py continent (replace continent by Africa, Australia, Eurasia, Islands, North_America or South_America. Second argument (optional) specifies from which tile to resume. Use full file name e.g. 'N36W004.hgt.zip'. Set to 0 start at the first file. Argument 3-6 optionally specify a bounding box: north, south, west, east. Verify that the download went correctly: python test/verify_download.py continent Unzip the files (adds 3 GB): $ for f in `ls *.zip`; do unzip $f; done Create a PostGIS database (you may need to change some things here depending on your system): $ createdb srtm $ createlang plpgsql srtm $ psql -d srtm -f /usr/share/postgresql-8.3-postgis/lwpostgis.sql $ psql -d srtm -f /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql Create a test database: $ createdb srtm_test $ createlang plpgsql srtm_test $ psql -d srtm_test -f /usr/share/postgresql-8.3-postgis/lwpostgis.sql $ psql -d srtm_test -f /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql Run script that reads files and puts them in the database. Test it first: $ python test/test_read_data.py $ python read_data.py continent Verify the result $ python read_data.py continent verify All altitude data should now be in the table 'altitude'. Enjoy.
P3tr0viCh/srtm2postgis
Imports data from the NASA Shuttle Radar Topography Mission into a PostGIS database (and other databases in the futue).
Python