4

我们的应用程序需要进行一些高程计算(并且未连接到 Internet),因此我们需要确定给定多边形的最高高程。我们如何使用 ArcGIS .Net SDK 离线查询 DTED?

这是我取得的一点点进步......

选项 1 - 使用 Esri.ArcGISRuntime.Controls.FileElevationSource

因此,为了使用 FileElevationSource,事实证明它必须与 SceneView 相关联。我们只使用了 MapView,所以我添加了 SceneVeiw 并关联了 FileElevationSource

sceneView.Scene.Surface.Add(elevationSource);

当我厌倦访问高程源时,我得到一个 AccessViolation

elevationSource.GetElevationAsync(location as MapPoint).Result

选项 2 - 一些如何使用 LocalServer

该文档指出,ArcGIS Runtime LocalServer 支持多种栅格格式,包括 DTED。 Local Server 栅格支持—ArcGIS Runtime SDK for .NET
所以我使用 ArcMap 创建了一个包含 DTED 文件的地图包文件,但不知道如何使用 Local Sever 来查询包文件

最终我们想要:

  1. 加载多个 DTED 文件
  2. 查询给定的纬度/经度该点的海拔高度

任何帮助将不胜感激!

注意我们使用的是 ArcGIS .Net SDK v10.2.7

4

1 回答 1

0

在异步操作完成之前,您无法访问它的结果。而是试试这个:

var result = await elevationSource.GetElevationAsync(位置为 MapPoint);

我们很快将更好地支持直接从任何栅格获取高程(希望更新 1,但可能是 U2)。

于 2017-02-27T23:50:25.160 回答