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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: dem_stitcher-0.0.0.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.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6

File hashes

Hashes for dem_stitcher-0.0.0.tar.gz
Algorithm Hash digest
SHA256 a907add1af3ee40d95b7a8317ae6db99ee4bb6652d677a74a5bb95a83fe8233c
MD5 6f9fdcf93b64f3fe091ae34bc30810ea
BLAKE2b-256 220aa4b41d4d5f8cff431bfc1bbb7c55c92e6a014f0882d6fc1207d981c4c3b1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dem_stitcher-0.0.0-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.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6

File hashes

Hashes for dem_stitcher-0.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5aa63dbd272e2388bae81ac001a0d671a5438c299cea5ac6d1db12f4fe310834
MD5 d0789c9f357829907cb53069ca4bb88b
BLAKE2b-256 8ee359f76b8ceb1a707a684cf7719d463bd367e4c3b7f1b94faf6896b4032efd

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