srtm2postgis icon indicating copy to clipboard operation
srtm2postgis copied to clipboard

Imports data from the NASA Shuttle Radar Topography Mission into a PostGIS database (and other databases in the futue).

Script that imports the SRTM data in a PostGIS (PostgreSQL) database.

http://wiki.openstreetmap.org/index.php/Route_altitude_profiles_SRTM#SRTM_import

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.