Лучший язык для программирования с GDAL

20

Я собираюсь начать создавать программы для обработки географических данных с сервера PostGIS и использовать GDAL.

По вашему опыту, с лучшим языком для программирования? Я могу программировать на Perl и Python, но хотел бы знать язык с большим количеством фрагментов кода для повторного использования, примерами, библиотеками и т. Д.

SonOfabox
источник
6
У меня нет никаких доказательств этого, но мне кажется, что в Python гораздо больше библиотек и пользователей, чем в Perl. Так что это мой голос!
blah238
Я думаю, что уже есть много приложений для работы с postgis. Если вы зададите другой вопрос о том, что вам нужно, возможно, вы сможете позволить себе работу :)
Francisco Puga

Ответы:

26

Лично мне очень нравится программировать с помощью GDAL на Python. После того, как вы установите его и разберетесь в том, как он работает, все будет довольно просто. Также с python вы можете использовать некоторые действительно полезные встроенные модули «с батарейками» (os, math, string, sys, random и т. Д.), А также сторонние модули, такие как NumPy (полезно для растровых операций).

Полный список библиотек Python GIS см. Здесь: Какие инструменты / модули / надстройки Python имеют решающее значение в ГИС? ).

Действительно отличное введение в привязки Python GDAL можно найти здесь:

http://www.gis.usu.edu/~chrisg/python/2009/

Вы можете приступить к работе за минимальное время, немного научившись и читая, например, вы можете взять шейп-файл в 2 строки:

driver = ogr.GetDriverByName('ESRI Shapefile')
datasource = driver.Open('shapefile.shp')

Очень легко сделать с файлом все, что вы хотите, прочитав документацию ( http://www.gdal.org/annotated.html ) и узнав, что вы делаете.

Смотрите здесь некоторые примеры того, что возможно в простом и минимальном коде:

http://svn.osgeo.org/gdal/trunk/gdal/swig/python/samples/

Джеймс Милнер
источник
13

Мне кажется, это довольно субъективный вопрос. С точки зрения GDAL / OGR я скажу, что по сути те же возможности библиотеки представлены в Python и Perl. Поэтому многое может зависеть от ваших языковых предпочтений и от того, какие другие компоненты вам могут понадобиться.

Я сам парень по питону, но я хочу немного поговорить от имени Perl и отметить, что среда GeoInformatica, поддерживаемая Ari Jolma, включает в себя GDAL / OGR и кучу других полезных вещей для Perl-скриптов. Я призываю вас проверить это:

http://geoinformatics.tkk.fi/

Фрэнк Вармердам
источник
7

Без сомнения лучшим языком является Python . Потому что это открывает много других возможностей помимо использования GDAL:

1) С помощью python вы можете подключиться к вашему серверу postgis с помощью ORM, подобного SQLAlchemy, который предоставит множество высокоуровневых функций для обработки ваших данных и подготовки их к gdal.

2) Вы можете использовать другие библиотеки Python для работы с геоданными, например Shapely или High Performance Geostatistics Library .

3) У вас есть очень хорошие привязки для вывода карты в Python, как Mapnik .

4) У вас есть некоторые фреймворки и высокоуровневые API, которые избавят вас от большой работы, такой как Geodjango (вы можете использовать ее локально) или Qgis API .

Pablo
источник
6

Третий голос за Python. Для меня, в дополнение к превосходным ответам выше, это потому, что мне уже давно надоело знать полдюжины языков сценариев для различных заданий, поэтому, как только ESRI поддержал Python, я отбросил их все (почти - Javascript все еще полезно) в пользу Python. Самое замечательное то, что другие не ГИС-пакеты, которые я использую, также поддерживают Python, поэтому я могу вызывать GDAL / OGR из API всех видов программного обеспечения. Python также является языком очень высокого уровня, поэтому я пишу о десятой части кода, который необходим даже для такого управляемого языка, как C #.

MappaGnosis
источник