2016-12-08 15 views
4

Наше приложение должно выполнить некоторые расчеты высоты (и не подключено к Интернету), в результате нам необходимо определить высоту возвышения для данного многоугольника. Как мы можем запросить DTED в автономном режиме с помощью ArcGIS .Net SDK?Как запросить автономный DTED с помощью ArcGIS .Net SDK?

Вот небольшой прогресс я сделал ...

Вариант 1 - Использование Esri.ArcGISRuntime.Controls.FileElevationSource

Так что для того, чтобы использовать FileElevationSource оказывается, что это должно быть связано с SceneView. Мы были только с помощью MapView поэтому я добавил в SceneVeiw и ассоциировали FileElevationSource

sceneView.Scene.Surface.Add(elevationSource); 

Когда я устал, чтобы получить доступ к источнику высоты я получаю AccessViolation

elevationSource.GetElevationAsync(location as MapPoint).Result 

Вариант 2 - Некоторые, как использовать LocalServer

В документе doco указано, что ArcGIS Runtime LocalServer поддерживает несколько растровых форматов, включая DTED. Local Server raster support—ArcGIS Runtime SDK for .NET
Так что я использовал ArcMap, чтобы создать файл карты пакет с файлами DTED внутри, но не имеют ни малейшего представления о том, как использовать местные Sever для запроса файла пакета

В конечном счете мы хотим:

  1. Загрузите количество DTED файлов
  2. запроса для заданного широта/долгота, что высота над уровнем моря в этой точке

Любая помощь будет высоко ценится!

Примечание мы используем ArcGIS .NET SDK версии 10.2.7

ответ

0

Вы не можете получить доступ результат операции асинхронной, пока не завершено. Вместо этого попробуйте:

var result = await elevationSource.GetElevationAsync (местоположение как MapPoint);

У нас будет лучшая поддержка для получения высоты непосредственно из любого растра в ближайшее время (надеюсь, обновление 1, но может быть U2).