A .NET 6 library for decoding a terrain tile (format quantized mesh).
More info about the quantized mesh format: https://github.com/AnalyticalGraphicsInc/quantized-mesh
For more awesome quantized mesh implementations see https://github.com/bertt/awesome-quantized-mesh-tiles
PM> Install-Package quantized-mesh-tile
const string terrainTileUrl = @"https://geodan.github.io/terrain/samples/heuvelrug/tiles/13/8432/6467.terrain";
var client = new HttpClient();
var stream = await client.GetStreamAsync(terrainTileUrl);
var terrainTile = TerrainTileParser.Parse(stream);
Console.WriteLine("Number of vertices: " + terrainTile.VertexData.vertexCount);
Console.ReadLine();
| Method | Mean | Error | StdDev |
|-------------------------- |---------:|---------:|---------:|
| ParseVectorTileFromStream | 46.74 us | 0.099 us | 0.087 us |
See samples/qm2geojson, sample code for converting a quantized mesh tile to GeoJSON.
Result: see https://github.com/bertt/quantized-mesh-tile-cs/blob/master/samples/qm2geojson/triangles.geojson
Sample visualization:
23-05-26: release version 0.4 to .NET 6
18-12-28: release version 0.3 with BinaryReader instead of FastBinaryReader
18-12-05: release version 0.2 with new .NET project file and conversion to WGS84 (method GetTriangles) removed.