private static void GeoTiffTests(IGeoTiffService geoTiffService, string tiffPath) { FileMetadata metaData = geoTiffService.ParseMetadata(tiffPath); float elevation; using (GeoTiff tiff = new GeoTiff(tiffPath)) { elevation = tiff.ParseGeoDataAtPoint(metaData, 122, 122); } }
private void PopulateGeoTiffDictionary(GeoTiffDictionary dictionary, FileMetadata mainTile, IGeoTiffService geoTiffService, IEnumerable <FileMetadata> fileMetadataList) { // Add main tile if (!dictionary.ContainsKey(mainTile)) { dictionary[mainTile] = geoTiffService.OpenFile(mainTile.Filename); } foreach (var fileMetadata in fileMetadataList) { if (!dictionary.ContainsKey(fileMetadata)) { dictionary[fileMetadata] = geoTiffService.OpenFile(fileMetadata.Filename); } } }
public ElevationService(IGeoTiffService geoTiffService) { _IGeoTiffService = geoTiffService; }
static void SpatialTrace_GeometryWithDEMGrid(ElevationService elevationService, IGeoTiffService geoTiffService, string wktBbox, DEMDataSet dataSet) { SpatialTrace.Enable(); DEM.Net.Lib.BoundingBox bbox = null; if (wktBbox != null) { SqlGeometry geom = GeometryService.ParseWKTAsGeometry(wktBbox); SpatialTrace.TraceGeometry(geom, "Bbox"); bbox = geom.ToGeography().STBuffer(60).GetBoundingBox(); //SpatialTrace.Indent("Line Segments"); //int i = 0; //foreach (var seg in geom.Segments()) //{ // i++; // Color color = (i % 2 == 0) ? Colors.Blue : Colors.Red; // SpatialTrace.SetLineColor(color); // SpatialTrace.TraceGeometry(seg, "Seg" + i, "Seg" + i); //} SpatialTrace.Unindent(); } Dictionary <string, DemFileReport> tiles = geoTiffService.GenerateReport(dataSet, bbox); SpatialTrace.Indent("DEM tiles"); SpatialTrace.SetLineColor(Colors.Black); foreach (var tile in tiles) { SpatialTrace.SetFillColor(tile.Value.IsExistingLocally ? Color.FromArgb(128, 0, 255, 0) : Color.FromArgb(128, 255, 0, 0)); SqlGeometry tileBbox = tile.Value.Source.BBox.AsGeomety(); SpatialTrace.TraceGeometry(tileBbox, $"{tile.ToString()}"); } SpatialTrace.Unindent(); // View spatial trace in bin\debug with spatial trace viewer SpatialTrace.ShowDialog(); SpatialTrace.Disable(); }