All Projects → HeZhang1994 → Digital Elevation Model

HeZhang1994 / Digital Elevation Model

Licence: mit
To transform, project, visualize, and read Digital Elevation Models (ASTERGDEMv2.0 and EUDEMv1.1). [简单实用] 数字高程模型的变换、投影、可视化和读取。

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Digital Elevation Model

Mintpy
Miami InSAR time-series software in Python
Stars: ✭ 195 (+204.69%)
Mutual labels:  remote-sensing, geoscience
Pyrate
A Python tool for estimating velocity and time-series from Interferometric Synthetic Aperture Radar (InSAR) data.
Stars: ✭ 110 (+71.88%)
Mutual labels:  remote-sensing, geoscience
Modistsp
An "R" package for automatic download and preprocessing of MODIS Land Products Time Series
Stars: ✭ 118 (+84.38%)
Mutual labels:  remote-sensing, gdal
Python-for-Remote-Sensing
python codes for remote sensing applications will be uploaded here. I will try to teach everything I learn during my projects in here.
Stars: ✭ 20 (-68.75%)
Mutual labels:  gdal, remote-sensing
piradar
Radar using Red Pitaya for RF: using Raspberry Pi 3 for quad-core radar signal processing
Stars: ✭ 59 (-7.81%)
Mutual labels:  geoscience, remote-sensing
Datacube Core
Open Data Cube analyses continental scale Earth Observation data through time
Stars: ✭ 285 (+345.31%)
Mutual labels:  remote-sensing, gdal
Pyrosar
framework for large-scale SAR satellite data processing
Stars: ✭ 274 (+328.13%)
Mutual labels:  remote-sensing, gdal
Geospatial Machine Learning
A curated list of resources focused on Machine Learning in Geospatial Data Science.
Stars: ✭ 289 (+351.56%)
Mutual labels:  remote-sensing, geoscience
Earthengine Py Notebooks
A collection of 360+ Jupyter Python notebook examples for using Google Earth Engine with interactive mapping
Stars: ✭ 807 (+1160.94%)
Mutual labels:  remote-sensing
Pytesmo
python Toolbox for the Evaluation of Soil Moisture Observations
Stars: ✭ 33 (-48.44%)
Mutual labels:  remote-sensing
Mapserver
Source code of the MapServer project. Please submit pull requests to the 'main' branch.
Stars: ✭ 693 (+982.81%)
Mutual labels:  gdal
Sf
Simple Features for R
Stars: ✭ 826 (+1190.63%)
Mutual labels:  gdal
Freenet
FPGA: Fast Patch-Free Global Learning Framework for Fully End-to-End Hyperspectral Image Classification (TGRS 2020) https://ieeexplore.ieee.org/document/9007624
Stars: ✭ 40 (-37.5%)
Mutual labels:  remote-sensing
Fiona
Fiona reads and writes geographic data files
Stars: ✭ 787 (+1129.69%)
Mutual labels:  gdal
Pyoptflow
Optical Flow estimation in pure Python
Stars: ✭ 49 (-23.44%)
Mutual labels:  geoscience
Awesome Open Geoscience
Curated from repositories that make our lives as geoscientists, hackers and data wranglers easier or just more awesome
Stars: ✭ 668 (+943.75%)
Mutual labels:  geoscience
Sentinelsat
Search and download Copernicus Sentinel satellite images
Stars: ✭ 576 (+800%)
Mutual labels:  remote-sensing
Ee Runner
Command-line runner for Google Earth Engine Playground scripts
Stars: ✭ 59 (-7.81%)
Mutual labels:  remote-sensing
Python Aos Lesson
Python for Atmosphere and Ocean Scientists
Stars: ✭ 49 (-23.44%)
Mutual labels:  geoscience
Pymasker
generate masks from Landsat and MODIS land product QA band
Stars: ✭ 31 (-51.56%)
Mutual labels:  remote-sensing

Python for Processing Digital Elevation Models

image image image image

English Version | 中文版

This is a Python implementation of transforming, projecting, converting, and visualizing Digital Elevation Models as well as reading their elevation of given locations.

Table of Contents

Terms and Abbreviations

Term Abbreviation Remark
Digital Elevation Model DEM -
Geographic Coordinate System GCS [Longitude, Latitude, Elevation] on 3D ellipsoid
Projected Coordinate System PCS [X-coor, Y-coor, Elevation] on 2D plane
Georeferenced Tagged Image File Format GeoTIFF Data Format of DEM (e.g., .tif)
European Petroleum Survey Group EPSG EPSG codes identify different GCSs and PCSs
1984 World Geodetic System WGS-84 GCS, EPSG-4326, approx. the ellipsoid of Earth
Pseudo Mercator (Web Mercator) - PCS of WGS-84, EPSG-3857
1936 Ordnance Survey Great Britain OSGB-36 GCS, EPSG-4277, approx. the ellipsoid of Britain
British National Grid BNG PCS of OSGB-36, EPSG-27700
1989 European Terrestrial Reference System ETRS-89 GCS, EPSG-4258, approx. the ellipsoid of Europe
Lambert Azimuthal Equal-Area LAEA PCS of ETRS-89, EPSG-3035

Functions

  • Transforming DEM from one GCS (e.g., WGS-84) to another GCS (e.g., OSGB-36).

  • Projecting DEM from one GCS (e.g., OSGB-36) to the related PCS (e.g., BNG).

  • Converting DEM from one PCS (e.g., LAEA) to the related GCS (e.g., ETRS-89).

  • Visualizing DEM in PCS as a 2D image.

  • Reading the elevation of given locations from DEM in GCS.

DEM Data

ASTERGDEM

EUDEM

Dependencies

  • gdal (osgeo) 1.11.3
  • matplotlib 3.0.2
  • numpy 1.15.4
  • pandas 0.23.4

The following procedures (1-2) for installing GDAL are recapitulated from mothergeo.

  1. Install GDAL Development Libraries and export environment variables for the compiler in Terminal.
$ sudo apt-get install libgdal-dev

$ export CPLUS_INCLUDE_PATH=/usr/include/gdal
$ export C_INCLUDE_PATH=/usr/include/gdal
  1. Install GDAL Python Libraries in Terminal.
$ pip install GDAL

If it comes with the error: cpl_vsi_error.h: No such file or directory, please try the following procedures.

  1. Check the required version of GDAL Python Libraries in Terminal.
$ gdal-config --version
  1. Download the source file (e.g., gdal-1.11.3.tar.gz) of the related GDAL version (e.g., 1.11.3) from here.

  2. Manually install GDAL Python Libraries in Terminal.

$ cd path/of/downloaded/gdal/package

~$ tar -xvzf gdal-{VERSION}.tar.gz
# E.g., ~$ tar -xvzf gdal-1.11.3.tar.gz

~$ cd extracted/gdal/folder
# E.g., ~$ cd gdal-1.11.3

~$ cd swig
~$ cd python
# The setup.py exists in this directory.

~$ python setup.py build_ext --include-dirs=/usr/include/gdal/
~$ python setup.py install
  1. Run >>> from osgeo import gdal in Python. If no error occurs, the installation is accomplished.

Pipeline of Processing ASTERGDEM

Usage

The directory of source DEMs is shown as below.


└── Data/
    ├── DATA_ASTGDEMv20/
    │   └── EPSG4326_s/
    │       ├── ASTGTM2_N51W001_dem.tif
    │       └── ASTGTM2_N51E000_dem.tif
    └── DATA_EUDEMv11/
        └── EUDEMv11_EPSG3035.tif

Usage of ASTERGDEM

  1. Download DEMs ASTGTM2_N51W001_dem.tif and ASTGTM2_N51E000_dem.tif from here.

  2. Copy DEMs to the folder DATA/DATA_ASTGDEMv20/EPSG4326_s/.

  3. To process ASTREGDEMv2.0 DEMs, run run_DEM_ASTGDEMv20.py or run_DEM_ASTGDEMv20_ipy.ipynb.

  4. The log of running run_DEM_ASTGDEMv20.py can be seen in Log_run_DEM_ASTGDEMv20.txt.

Usage of EUDEM

  1. Download DEM eu_dem_v11_E30N30.tif from here.

  2. Copy DEM to the folder DATA/DATA_EUDEMv11/ and rename it as EUDEMv11_EPSG3035.tif.

  3. To process EUDEMv1.1 DEM, run run_DEM_EUDEMv11.py or run_DEM_EUDEMv11_ipy.ipynb.

  4. The log of running run_DEM_EUDEMv11.py can be seen in Log_run_DEM_EUDEMv11.txt.

Results

DEM Images of London

  • The DEM Image of ASTERGDEMv2.0 in Pseudo Mercator PCS
  • The DEM Image of ASTERGDEMv2.0 in BNG PCS
  • The DEM Image of ASTERGDEMv2.0 in LAEA PCS

Elevation of London

  • The elevation of 24 locations in London (meter)
No. of Location 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
ASTGDEMv20_WD 18 18 38 40 65 26 35 31 17 79 13 41 62 82 9 13 31 31 15 22 24 40 8 40
ASTGDEMv20_UK 14 14 36 25 60 37 33 40 20 68 12 25 62 59 15 18 22 22 15 21 14 33 8 47
ASTGDEMv20_EU 18 18 38 40 65 26 35 31 17 79 13 41 62 82 9 13 31 31 15 22 24 40 8 40
EUDEMv11_WD 12 12 37 30 61 25 29 36 11 66 11 31 64 79 7 27 25 25 14 15 13 32 5 36
EUDEMv11_UK 12 12 37 26 58 30 32 35 11 71 8 30 66 78 8 26 24 24 8 16 13 32 9 35
EUDEMv11_EU 12 12 37 30 61 25 29 36 11 66 11 31 64 79 7 27 25 25 14 15 13 32 5 36

References

[1] EPSG 4326 vs EPSG 3857 (projections, datums, coordinate systems, and more!)

[2] Coordinate systems and projections for beginners

[3] CSDN Blog


Please report an issue if you have any question about this repository, I will respond ASAP.

Please star this repository if you found its content useful. Thank you very much. ^_^

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].