如何使用ArcGIS .Net SDK离线查询DTED?

时间:2016-12-08 23:19:36

标签: .net gis arcgis esri arcgis-runtime

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

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

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

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

elevationSource.GetElevationAsync(location as MapPoint).Result

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

<div id="holder"></div>
<div id="holder2"></div>
<a id="rp" href="#">reparent</a>

选项2 - 一些如何使用LocalServer

doco表示ArcGIS Runtime LocalServer支持多种Raster格式,包括DTED。 Local Server raster support—ArcGIS Runtime SDK for .NET
所以我使用ArcMap创建了一个包含DTED文件的地图包文件,但不知道如何使用Local Sever查询包文件

最终我们希望:

  1. 加载多个DTED文件
  2. 查询给定的纬度/经度当前高程是什么
  3. 非常感谢任何帮助!

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

1 个答案:

答案 0 :(得分:0)

您无法访问异步操作的结果,直到完成为止。 相反,试试这个:

var result =等待elevationSource.GetElevationAsync(作为MapPoint的位置);

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