Saya ingin menggunakan skrip Python yang tidak didasarkan pada arcpy untuk melakukan hal-hal seperti kueri sebuah shapefile dengan atribut, membuat layer baru dari seleksi, dan menghitung area poligon dan mengkonversi poligon menjadi poin.
Adakah yang punya contoh kode menggunakan modul atau pustaka Python lainnya? Saya dapat melakukan ini dengan mudah menggunakan arcpy tetapi saya ingin menjelajahi opsi lain.
python
geoprocessing
sherpa
sumber
sumber
Jawaban:
Itu aneh, seolah-olah orang tiba-tiba menemukan kekuatan Python (tanpa ArcPy yang hanya satu modul Python antara lain), lihat misalnya pertanyaan Visualisasikan shapefile dengan Python :
Anda dapat menggabungkan semua (Pysal dengan rupawan, ...) dan mencampurnya dengan modul Ilmiah lainnya.
Jadi untuk contoh Skrip Python, cari Pyshp Fiona, ogr, gdal atau bentuknya di gis.stackexchange atau internet (banyak contoh, tidak hanya dalam bahasa Inggris).)
Salah satunya dalam bahasa Perancis (skrip dan gambarnya universal!):
- Python: Menggunakan vektor dan lapisan raster dalam perspektif geologis, tanpa perangkat lunak GIS
yang lain dalam bahasa Inggris:
- GIS dengan Python, Shapely, dan Fiona
dan dalam bahasa Spanyol
- Penentuan area poligon tidak beraturan menggunakan koordinat titik
di gis.stackexchange
- Profil ketinggian 10 km setiap sisi garis
- Memperbarui Atribut menggunakan Pyshp
- Bagaimana cara membuat shapefile 3D dari raster?
- Skrip Python untuk mendapatkan perbedaan elevasi antara dua titik
- dll
Script yang disajikan oleh Aaron dapat ditulis lebih sederhana dengan Fiona yang hanya menggunakan kamus Python:
dan jika Anda menggunakan Shapely sebagai tambahan:
Ada juga dua buku:
Pengembangan Geospasial Python dari Eric Westra.
Belajar Analisis Geospasial dengan Python of Joel Lawhead
Python juga digunakan sebagai bahasa scripting dalam aplikasi SIG lainnya seperti QGIS (Quantum GIS), GRASS GIS, gvSIG atau OpenJump atau pemodel 3D seperti Paraview (dan Blender juga!). Dan Anda dapat menggunakan sebagian besar modul geospasial di semua aplikasi ini (lihat Memvisualisasikan data QGIS dengan Blender )
sumber
Saya sangat merekomendasikan situs USU Geoprocessing dengan Python menggunakan Open Source GIS untuk membantu Anda memulai. Mereka terutama menggunakan perpustakaan GDAL / OGR selama latihan. Menginstal GDAL / OGR bisa menjadi sedikit tantangan, jadi entri blog ini mungkin dapat membantu Anda: Menginstal GDAL (dan OGR) untuk Python di Windows . Lihat juga Alternatif untuk menggunakan Arcpy di GIS.SE.
Contoh skrip geoprocessing opensource berikut (dari situs USU) digunakan untuk mengekstrak data atribut dan menulisnya ke file teks:
sumber
.Destroy
adalah nama metode yang luar biasa: pAnda mungkin tertarik dengan GDAL / OGR .
GDAL digunakan untuk memproses raster sedangkan OGR digunakan untuk vektor. Keduanya adalah perpustakaan open source.
Jika Anda ingin menghapus ketergantungan pada ArcPy, Anda dapat meniru beberapa kemampuan dengan membaca informasi ke sebuah array dan menjalankan perhitungan Anda sendiri dengan Python murni.
Baru-baru ini saya melakukan ini dengan memilih titik dalam poligon, seperti yang terlihat di sini . Ini menggunakan algoritma pengecoran sinar untuk menentukan apakah suatu titik terletak di dalam poligon, mengingat koordinat titik poligon.
sumber
Saya tidak pernah menggunakan ini secara pribadi, tetapi orang lain di kantor suka menggunakan rupawan: https://pypi.python.org/pypi/Shapely
sumber