Najlepszy język do programowania w GDAL

20

Zacznę tworzyć programy do obsługi danych geograficznych z serwera PostGIS i będę używać GDAL.

Zgodnie z twoim doświadczeniem, z najlepszym językiem do programowania? Mogę programować w Perlu i Pythonie, ale chciałbym znać język z większą ilością kodu do ponownego użycia, przykładami, bibliotekami itp.

SonOfabox
źródło
6
Nie mam na to żadnych dowodów, ale mam wrażenie, że Python ma o wiele więcej bibliotek i użytkowników niż Perl. To mój głos!
blah238
Myślę, że istnieje już wiele aplikacji do pracy z Postgis. Jeśli zadasz kolejne pytanie, mówiąc, jakie są twoje potrzeby, prawdopodobnie możesz sobie pozwolić na pracę :)
Francisco Puga

Odpowiedzi:

26

Osobiście bardzo lubię kodować za pomocą GDAL w Pythonie. Po zainstalowaniu i zastanowieniu się, jak to działa, jest to dość łatwe. Również w Pythonie możesz wykorzystać niektóre naprawdę przydatne wbudowane moduły (w tym baterie) (os, matematyka, łańcuch, sys, random itp.), A także moduły innych firm, takie jak NumPy (przydatne do operacji rastrowych).

Pełna lista bibliotek GIS Python znajduje się tutaj: Jakie narzędzia / moduły / dodatki Python są kluczowe w GIS? ).

Naprawdę świetne wprowadzenie do powiązań Python GDAL można znaleźć tutaj:

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

Możesz zacząć w minimalnym czasie z odrobiną wiedzy i czytania, na przykład możesz złapać plik kształtu w 2 liniach:

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

Po przeczytaniu dokumentacji ( http://www.gdal.org/annotated.html ) i zrobieniu wszystkiego, bardzo łatwo jest zrobić wszystko, co chcesz .

Zobacz tutaj kilka przykładów tego, co jest możliwe w prostym i minimalnym kodzie:

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

James Milner
źródło
13

Wydaje mi się, że jest to dość subiektywne pytanie. Z perspektywy GDAL / OGR powiem, że zasadniczo te same możliwości biblioteki są dostępne w Pythonie i Perlu. Wiele może więc zależeć od preferencji językowych i innych elementów, które mogą być potrzebne.

Sam jestem facetem pytona, ale chcę trochę zabrać głos w imieniu Perla i zauważyć, że środowisko GeoInformatica obsługiwane przez Ari Jolma obejmuje GDAL / OGR i kilka innych przydatnych rzeczy dla skryptów Perla. Zachęcam do sprawdzenia:

http://geoinformatics.tkk.fi/

Frank Warmerdam
źródło
7

Bez pytania najlepszym językiem jest Python . Ponieważ otwiera wiele innych możliwości poza użyciem GDAL:

1) Za pomocą Pythona możesz połączyć się z serwerem Postgis za pomocą ORM, takiego jak SQLAlchemy, który zapewni wiele funkcji wysokiego poziomu do obsługi danych i przygotowania ich do gdal.

2) Możesz używać innych bibliotek Pythona do pracy z geodanymi, takich jak Shapely lub High Performance Geostatistics Library .

3) Masz bardzo dobre powiązania dla danych wyjściowych map w pythonie, takich jak Mapnik .

4) Masz pewne frameworki i interfejsy API wysokiego poziomu, które oszczędzą ci dużo pracy, np. Geodjango (możesz używać go lokalnie) lub Qgis API .

Pablo
źródło
6

Trzecie głosowanie na Python. Dla mnie, oprócz doskonałych odpowiedzi powyżej, to dlatego, że miałem już dość znajomości pół tuzina języków skryptowych dla różnych zadań, więc gdy tylko ESRI wspierało Python, porzuciłem je wszystkie (prawie - JavaScript jest wciąż przydatne) na rzecz Pythona. Wspaniałą rzeczą jest to, że inne pakiety inne niż GIS, z których korzystam, również obsługują Python, więc mogę wywoływać GDAL / OGR z interfejsów API różnego rodzaju oprogramowania. Python jest również językiem bardzo wysokiego poziomu, więc piszę o jednej dziesiątej kodu, którego potrzebuje nawet język zarządzany, taki jak C #.

MappaGnosis
źródło