Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.

Build Status Board Status 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.


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
  • Fast and optimized queries

See samples here

Supported by JetBrainSupport

3D model

Supported formats and datasets


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


  • glTF
  • STL

Current dev status


(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