Skip to main content

Download and merge DEM tiles for processing interferograms with ISCE2.

Project description

dem_stitcher

Tests

The purpose of this repo is to download Digital Elevation Model (DEM) tiles and do some basic transformations so that they can be ingested into ISCE2 for the ARIA pipeline. We could see this being used in different applications. Meant to be "plugged-in" to other python routines.

This is the joint work of Charlie Marshak, David Bekaert, Michael Denbina, and Marc Simard.

Please look at the demonstration here.

Credentials

The virtual reading of Nasadem and SRTM require earthdata login credentials to be put into the ~/.netrc file. If these are not present, the stitcher will fail with BadZipFile Error as the request is made behind the secnes with rasterio. Specifically,

machine urs.earthdata.nasa.gov
    login <username>
    password <password>

Installation with pip

  1. Download the requirements.txt and install them: pip install -r requirements.txt
  2. Install dem stitcher: pip install dem_stitcher

Installation for Development

Tested with 3.8.5 Anaconda Python.

  1. pip install -r requirements.txt
  2. Install the package either:
    • pip install . (or to make editable pip install -e .)
    • pip install ... from github as here

DEMs

The DEMs we have are:

  1. The USGS DEMSs:
    • Ned 1 arc-second (deprecated) [link]
    • 3Dep 1 arc-second[link]
  2. SRTM v3 [link]
  3. Nasadem [link]
  4. Tandem-X 30 meter (GLO-30) [link]

Look at this readme and this notebook for some more information.

Transformations

  1. Merge tiles from server
  2. Resample to epsg:4326
  3. (optional; default True) Pixel centered referenced raster ensuring (a) half-pixel shift in the north-west direction if the original raster tiles are centered around the UL corner point and (b) tagging the data with {'AREA_OR_POINT: 'Point'}.
  4. (optional; default True) - transform vertical heights to WGS84 Ellipsoidal height.

Testing

  1. Install papermill and pytest.
  2. Install a new jupyter kernel to reference dem_stitcher with python -m ipykernel install --user --name dem_stitcher (the notebooks use this kernel name).
  3. Run pytest.

There are automatic github actions that run the said tests as well.

Contributing

  1. Create an GitHub issue ticket desrcribing what changes you need (e.g. issue-1)
  2. Fork this repo
  3. Make your modifications in your own fork
  4. Make a pull-request in this repo with the code in your fork and tag the repo owner / largest contributor as a reviewer

Support

Create an issue ticket.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dem_stitcher-0.0.1.tar.gz (25.3 MB view details)

Uploaded Source

Built Distribution

dem_stitcher-0.0.1-py3-none-any.whl (25.3 MB view details)

Uploaded Python 3

File details

Details for the file dem_stitcher-0.0.1.tar.gz.

File metadata

  • Download URL: dem_stitcher-0.0.1.tar.gz
  • Upload date:
  • Size: 25.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.9.6

File hashes

Hashes for dem_stitcher-0.0.1.tar.gz
Algorithm Hash digest
SHA256 e885c53d02a2516371dbb915b90c96b002cbb82ff4caf5c9a25b3d89ab2b3623
MD5 edae421edfe0a235b3aba971c60b640b
BLAKE2b-256 63d8b9dd7b19a338fbe5e78dd9eb19ea2e867cdd48fc750c278004e525fb4333

See more details on using hashes here.

File details

Details for the file dem_stitcher-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: dem_stitcher-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 25.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.9.6

File hashes

Hashes for dem_stitcher-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 77a009debae20313673dc5019188381f6e9fc054610c95e4c41be22c772a3b67
MD5 ef299c00adc5f846ab142b8d98a52da0
BLAKE2b-256 3fb671b7518037ec166d96a296600393ca3221934157ad68c8aa758eb2419ec7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page