Bahasa terbaik untuk diprogram dengan GDAL

20

Saya akan mulai membuat program untuk menangani data geografis dari server PostGIS, dan akan menggunakan GDAL.

Menurut pengalaman Anda, dengan bahasa terbaik untuk diprogram dengannya? Saya dapat memprogram dalam Perl dan Python, tetapi ingin tahu bahasa dengan lebih banyak potongan kode untuk digunakan kembali, contoh, perpustakaan, dll.

SonOfabox
sumber
6
Saya tidak punya buktinya, tetapi perasaan saya adalah bahwa Python memiliki lebih banyak perpustakaan dan pengguna daripada Perl. Jadi itu pilihanku!
blah238
Saya pikir sudah ada banyak aplikasi untuk bekerja dengan postgis. Jika Anda mengajukan pertanyaan lain dengan mengatakan apa kebutuhan Anda, mungkin Anda mampu bekerja :)
Francisco Puga

Jawaban:

26

Secara pribadi, saya sangat menikmati pengkodean dengan GDAL dengan Python. Setelah Anda menginstalnya dan memahami bagaimana cara kerjanya, ini cukup mudah. Juga dengan python Anda dapat menggunakan beberapa modul builtin 'baterai termasuk' yang sangat berguna (os, matematika, string, sys, acak, dll), serta modul pihak ketiga seperti NumPy (berguna untuk operasi raster) antara lain.

Untuk daftar lengkap pustaka GIS Python, lihat di sini: Apa alat / modul / add-in Python penting dalam GIS? ).

Pengantar yang sangat bagus untuk binding Python GDAL dapat ditemukan di sini:

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

Anda dapat memulai dalam waktu minimal dengan sedikit pengetahuan dan cara membaca, misalnya Anda dapat memegang sebuah shapefile dalam 2 baris:

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

Sangat mudah untuk melakukan apa pun yang Anda inginkan ke file setelah Anda membaca dokumentasi ( http://www.gdal.org/annotated.html ) dan Anda tahu apa yang Anda lakukan.

Lihat di sini untuk beberapa contoh dari apa yang mungkin dalam kode sederhana dan minimal:

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

James Milner
sumber
13

Menurut saya ini adalah pertanyaan yang cukup subjektif. Dari perspektif GDAL / OGR saya akan mengatakan bahwa pada dasarnya kapabilitas perpustakaan yang sama diekspos dalam Python dan Perl. Jadi banyak tergantung pada preferensi bahasa Anda dan komponen apa yang Anda inginkan.

Saya sendiri adalah seorang python, tetapi saya ingin berbicara sedikit atas nama perl dan mencatat bahwa lingkungan GeoInformatica yang dikelola oleh Ari Jolma termasuk GDAL / OGR dan banyak hal berguna lainnya untuk skrip perl. Saya mendorong Anda untuk memeriksanya:

http://geoinformatics.tkk.fi/

Frank Warmerdam
sumber
7

Tanpa mempertanyakan bahasa terbaik adalah Python . Karena itu membuka banyak kemungkinan lain di luar penggunaan GDAL:

1) Dengan python Anda dapat terhubung ke server postgis Anda dengan ORM seperti SQLAlchemy yang akan menyediakan banyak fungsi tingkat tinggi untuk menangani data Anda dan menyiapkannya untuk gdal.

2) Anda dapat menggunakan pustaka python lain untuk bekerja dengan geodata, seperti Shapely atau High Performance Geostatistics Library .

3) Anda memiliki binding yang sangat baik untuk output peta dalam python, seperti Mapnik .

4) Anda memiliki beberapa kerangka kerja dan API tingkat tinggi yang akan memberi Anda banyak pekerjaan seperti Geodjango (Anda dapat menggunakannya secara lokal) atau Qgis API .

Pablo
sumber
6

Pilihan ketiga untuk Python. Bagi saya, selain jawaban yang sangat baik di atas, itu karena saya bosan dengan harus tahu setengah lusin bahasa scripting untuk pekerjaan yang berbeda beberapa waktu lalu, jadi begitu ESRI mendukung Python, saya membatalkan semuanya (hampir - Javascript adalah masih bermanfaat) dalam mendukung Python. Hebatnya adalah bahwa paket non-GIS lain yang saya gunakan juga mendukung Python, jadi saya dapat memanggil GDAL / OGR dari API dari semua jenis perangkat lunak. Python juga bahasa tingkat yang sangat tinggi sehingga saya menulis tentang sepersepuluh dari kode yang bahkan bahasa yang dikelola seperti kebutuhan C #.

MappaGnosis
sumber