ГИС: когда и зачем использовать ArcObjects поверх программирования GDAL для работы с растрами и векторами ArcGIS? - PullRequest
3 голосов
/ 16 февраля 2010

Я только начинаю с GDAL + python для поддержки операций, которые невозможно выполнить с помощью скриптов геообработки ArcGIS python.В основном я занимаюсь пространственным моделированием / анализом / редактированием растровых и векторных данных.

Я немного растерялся, когда требуется разработка ArcObject по сравнению с использованием GDAL?Есть ли функциональные возможности ArcObjects, которые GDAL не делает?Верно ли и обратное?Я предполагаю, что ArcObjects более полезны для разработки онлайн-инструментов по сравнению с Desktop-анализом и моделированием, где разница больше связана с предпочтениями?В моем случае я предпочитаю GDAL из-за поддержки Python, которой, как мне кажется, в ArcObjects не хватает.

спасибо!

Ответы [ 3 ]

5 голосов
/ 17 февраля 2010

GDAL включен в ArcGIS для работы с некоторыми форматами растровых данных. Они не используют утилиты GDAL для какой-либо геообработки. Я бы предположил, что ESRI реализовал большинство, если не все, функциональные возможности в GDAL со своими собственными функциями геообработки. Таким образом, между этими двумя функциями много общего.

Функции геообработки ESRI можно запускать и создавать сценарии через Python. Инструменты геообработки - это абстракции более высокого уровня (упрощение) ArcObjects, которые были созданы с использованием ArcObjects. Они должны соответствовать вашим требованиям «пространственного моделирования / анализа / редактирования растровых и векторных данных».

http://webhelp.esri.com/arcgisdesktop/9.2/index.cfm?id=596&pid=592&topicname=Geoprocessing_framework

Какая функция, по вашему мнению, отсутствует в инструментах геообработки ESRI?

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

http://www.gdal.org/gdal_utilities.html

4 голосов
/ 11 мая 2010

ответ географии превосходен. Я только добавлю, что я использую gdal / ogr, когда требуется простота и скорость в конверсиях. Примеры включают один формат в другой, добавление пирамид изображения, простое слияние и преобразование координат (растр и вектор). Когда все, что вам нужно сделать, это соединить кучу шейп-файлов вместе или преобразовать большую серию растров в общую проекцию, gdal / ogr быстрее запускается и запускается, так как не требуется загружать всю COM-библиотеку ArcObjects для доступа к одному или две функции. (Мне сказали, что ESRI имеет самую большую в мире систему MS COM, с большим отрывом, включая все предложения Microsoft.) Или проверьте действующую лицензию. В одном тесте я запустил , сравнивая расшифровку ESRI с GDAL ogr2ogr Время обработки увеличилось с 6 минут до 10 секунд.

Единственная существенная вещь в области преобразования и проекции, которую, по моему мнению, не хватает в gdal, - это возможность регистрировать действия геообработки в разделе метаданных Lineage. Инструменты ESRI делают это автоматически (большую часть времени).

При выходе за пределы конверсии и углубленном анализе, хотя на самом деле нет места вне ESRI. По моему опыту это так. Прежде чем вы перейдете непосредственно к ArcObjects, я потрачу некоторое время на изучение того, что можно сделать с помощью arcgisscripting (arcpy в v10), то есть python и dot net.

1 голос
/ 19 февраля 2010

ArcObjects и геообработка добавляют гораздо больше функциональности, чем GDAL, и в основном предназначены для настольных компьютеров. Другой вариант просмотра Python - это также использование QGIS с API-интерфейсом Python, Free и Open Source и активное сообщество разработчиков.

Существует также множество библиотек python для выполнения пространственной работы, таких как Shapely. Для растра я бы сказал, что GDAL - ваш лучший выбор, но для вектора вы можете использовать что-то вроде shapely.

...