GDAL ile programlamak için en iyi dil


20

Bir PostGIS sunucusundan coğrafi verileri işlemek için programlar oluşturmaya başlayacağım ve GDAL kullanacağım.

Deneyiminize göre, programlamak için en iyi dil ile? Perl ve Python'da program yapabilirim, ancak yeniden kullanmak için daha fazla kod parçası, örnek, kitaplık vb. İle dili bilmek istiyorum.


6
Bunun bir kanıtı yok, ama benim hissim Python'un Perl'den çok daha fazla kütüphane ve kullanıcıya sahip olması. Bu benim oyum!
blah238

Postgis ile çalışmak için zaten çok sayıda uygulama olduğunu düşünüyorum. İhtiyaçlarınızın neler olduğunu söyleyen başka bir soru sorarsanız, muhtemelen işinizi karşılayabilirsiniz :)
Francisco Puga

Yanıtlar:


26

Şahsen, Python'da GDAL ile kodlamayı gerçekten seviyorum. Bir kez kurduktan ve nasıl çalıştığından başınızı döndürdüğünüzde oldukça kolaydır. Ayrıca python ile bazı gerçekten yararlı 'piller dahil' yerleşik modüller (os, matematik, dize, sys, rastgele vb) yanı sıra diğerleri arasında NumPy (raster işlemleri için yararlı) gibi üçüncü taraf modülleri kullanabilirsiniz.

GIS Python kitaplıklarının kapsamlı bir listesi için buraya bakın: CBS'de önemli Python araçları / modülleri / eklentileri nelerdir? ).

Python GDAL bağlarına gerçekten harika bir giriş burada bulunabilir:

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

Biraz nasıl yapılacağını ve okunduğunu en aza indirerek, örneğin 2 satırda bir şekil dosyasını tutabilirsiniz:

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

Belgeleri ( http://www.gdal.org/annotated.html ) okuduktan ve ne yaptığınızı öğrendikten sonra dosyaya ne yapmak isterseniz onu yapmak çok kolaydır .

Basit ve minimal kodda nelerin mümkün olduğuna dair bazı örnekler için buraya bakın:

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


13

Bana göre bu oldukça öznel bir soru. GDAL / OGR açısından bakıldığında, kütüphanenin aynı yeteneklerinin Python ve Perl'de ortaya çıktığını söyleyeceğim. Bu yüzden çok şey dil tercihinize ve başka hangi bileşenlerin isteyebileceğinize bağlı olabilir.

Ben kendim bir python adamım, ama perl adına biraz konuşmak ve Ari Jolma tarafından korunan GeoInformatica ortamının GDAL / OGR ve perl betikleri için bir sürü faydalı şey içerdiğini not etmek istiyorum. Bunu kontrol etmenizi öneririm:

http://geoinformatics.tkk.fi/


7

En iyi dil sorgulamadan Python'dur . GDAL kullanımının ötesinde pek çok başka olasılık da açtığı için:

1) Python ile postgis sunucunuza, verilerinizi işlemek ve gdal için hazırlamak için birçok üst düzey işlev sağlayacak olan SQLAlchemy gibi bir ORM ile bağlanabilirsiniz.

2) Coğrafi verilerle çalışmak için Shapely veya High Performance Geostatistics Library gibi diğer python kitaplıklarını kullanabilirsiniz .

3) Mapnik gibi python'da harita çıktısı için çok iyi bağlantınız var .

4) Geodjango (yerel olarak kullanabilirsiniz) veya Qgis API gibi bir çok işi size ayıracak bazı çerçeveleriniz ve yüksek düzey API'leriniz var .


6

Python için üçüncü oy. Benim için, yukarıdaki mükemmel cevaplara ek olarak, bir süre önce farklı işler için yarım düzine komut dosyası dili bilmek zorunda kaldım, bu yüzden ESRI Python'u desteklediği anda hepsini bıraktım (neredeyse - Javascript hala yararlı) Python lehine. En iyi şey, kullandığım diğer GIS olmayan paketler de Python'u destekliyor, bu yüzden her türlü yazılımın API'larından GDAL / OGR'yi çağırabilirim. Python da çok yüksek seviyeli bir dildir, bu yüzden kodun onda biri hakkında bile C # gibi yönetilen bir dilin yazması gerekir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.