Skip to main content

Download and merge DEM tiles for processing interferograms with ISCE2.

Project description

dem_stitcher

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.

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

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 tiler will fail with BadZipFile Error as the request is made behind the secnes with rasterio/gdal.

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

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.0.tar.gz (25.3 MB view hashes)

Uploaded Source

Built Distribution

dem_stitcher-0.0.0-py3-none-any.whl (25.3 MB view hashes)

Uploaded Python 3

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