Skip to content

dem-net/DEM.Net

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9d560d2 · Jan 20, 2025
Aug 2, 2020
Jan 20, 2025
Jan 20, 2025
Jan 12, 2025
Jan 9, 2017
Nov 3, 2019
Dec 6, 2018
Nov 29, 2018
Jan 12, 2025
Jan 12, 2025
Oct 7, 2019
Sep 27, 2020
May 14, 2024
Jan 29, 2019
Dec 17, 2018
May 19, 2022
Sep 4, 2020
Sep 4, 2020
Sep 21, 2020
Dec 2, 2018

Repository files navigation

Maintenance Twitter Follow

DEM.Net.Core NuGet Version

DEM.Net.glTF NuGet Version

This library is licensed for personal use or for smal companies generating less than $100,000 annually, for any other cases, please get in touch with us.

DEM.Net

Digital Elevation Model library in C#

  • Elevation queries (point, polylines, heightmap, GPX)
  • 3D export (glTF, STL)
  • Imagery (MapBox, OSM, Stamen) : textured 3D models and normal maps
  • No setup
  • Automatic DEM file download from openTopography.org
  • Fast and optimized queries

See samples here

Check article on Sketchfab API Spotlight : Elevation API

3D model

Supported formats and datasets

Input

  • GeoTIFF (JAXA AW3D, and any GeoTIFF)
  • HGT (Nasa SRTM)
  • netCDF

Output

  • glTF
  • STL

Current dev status

SampleApp

(Work in progress) SampleApp is a Console App used for test purposes, full of samples. It's pretty messy and lacks documentation but names are self explanatory.

How do I use the API ?

Raster operations

  • Use elevationService.DownloadMissingFiles(DEMDataSet.AW3D30, <bbox>) to download and generate metadata for a given dataset.
  • Supported datasets : SRTM GL1 and GL3 (HGT files), AWD30 (GeoTIFF)
  • Use new RasterService().GenerateReport(DEMDataSet.AW3D30, <bounding box>) to download only necessary tiles using remote VRT file.
  • Use rasterService.GenerateFileMetadata(<path to file>, DEMFileFormat.GEOTIFF, false, false) to generate metada for an arbitrary file.
  • Use RasterService.GenerateDirectoryMetadata(samplePath);to generate metadata files for your raster tiles. These metadata files will be used as an index when querying Digital Elevation Model data.

Elevation operations

  • GetLineGeometryElevation
  • GetPointElevation

glTF export

  • glTFService can generate triangulated MeshPrimitives from height maps
  • Export to .gtlf or .glb

Sample data

Acknowledgements / Sources

Third party code and librairies