Alternatif open source untuk konsep layanan geoprosesing ArcGIS?

15

Saya mencari contoh penerapan logika yang dibuat Esri dengan layanan geoprocessing. Anda membuat alat khusus atau bisa juga alat sistem >> Anda mempublikasikannya mengekspos fungsi ini sebagai layanan web >> Anda mengkonsumsi layanan web dengan klien.

Contoh sederhana klasik: pengguna dapat mengklik peta untuk membuat titik> koordinat dikirim ke server> operasi buffering dijalankan di back-end> fitur zona buffer (atau hanya gambar) dikirim kembali ke klien dan ditampilkan di kanvas peta. Saya telah mengembangkan layanan Esri GP selama 3 tahun terakhir dan ini merupakan pengalaman yang menyenangkan khususnya sejak versi 10.1.

Apakah ada contoh sistem / solusi open source yang dapat digunakan untuk membangun logika yang sama?

Saya sudah mencari di Google dan menemukan sextante gis tetapi tidak ada yang spesifik tentang cara kerjanya dan seberapa banyak logika yang tersedia melalui Esri tersedia. 52Nampaknya juga sedang mengerjakan hal itu, tetapi sekali lagi saya kehilangan penjelasan yang bersih tentang konsep itu.

Alex Tereshenkov
sumber

Jawaban:

6

Menggunakan WPS yang sudah ada sebelumnya atau Membangunnya

Ada seluruh deskripsi / tutorial tentang layanan pemrosesan web (WPS) yang ditemukan di sini . Sebagian besar dari ini akan dilakukan menggunakan permintaan HTTP yang dikirim ke server seperti GeoServer yang menjadi tuan rumah proses ini. Tautan GeoServer akan menguraikan proses umum hosting dan memanggil WPS menggunakan perangkat lunak mereka. Ekstensi WPS GeoServer hadir dengan proses JTS Topology Suite, yang merupakan perpustakaan dari fungsi spasial yang umum seperti operasi buffering dan persimpangan. Berikut ini adalah contoh mereka dalam menjalankan operasi penyangga menggunakan perpustakaan JTS.

Cara lain

Ada beberapa cara lain untuk melakukannya. Tim web kami menggunakan kueri terhadap database PostGRE / PostGIS mereka untuk melakukan analisis sederhana, tetapi saya tidak terbiasa dengan hal itu sepenuhnya.

Satu ide yang saya mulai untuk penelitian melibatkan penggunaan skrip python open-source seperti PySal / GDAL untuk melakukan analisis spasial. Anda perlu menggunakan beberapa JavaScript / AJAX (atau bahasa sisi server apa pun) untuk mengeksekusi skrip-skrip tersebut di server Anda dan memuntahkan hasilnya. Ini akan menjadi opsi yang rumit, tapi saya percaya itu akan memberi Anda opsi penyesuaian yang lebih baik daripada ESRI.

Saya pikir Anda harus dapat memecah fitur menjadi string GeoJSON untuk lulus sebagai parameter ke skrip python. Dari sana, Anda harus mengubah hasil itu menjadi string GeoJSON untuk dikirimkan kembali ke klien untuk ditampilkan. Paket python seperti Shapely dapat menginterpretasikan string GeoJSON. Orang lain mungkin perlu beberapa solusi untuk memanfaatkan GeoJSON, atau mungkin ada opsi yang lebih baik yang belum saya pikirkan untuk digunakan.

Pilihan lain adalah menggunakan GeoTools untuk menulis aplikasi web Java yang akan melakukan analisis spasial. Ini juga mendukung string GeoJSON dan memiliki beberapa fungsi analisis spasial bawaan. Mereka punya beberapa tangkapan layar yang menunjukkan berbagai aplikasi mereka.

Anda bisa membuat WPS sendiri atau menjalankan skrip sisi server. Ini tidak akan semudah ESRI membuatnya, tetapi akan gratis jika Anda menggunakan open-source.

Apa pun rute yang Anda putuskan, perbarui di sini karena ini adalah topik yang hebat!

Branco
sumber
terima kasih banyak, jawaban yang bagus Anda menyebutkan salah satu alternatif yang saya ingat - memicu file Python .py dari halaman web JS yang menyimpan data yang dikirimkan oleh pengguna, memasukkan data ini ke fungsi Python, dan kemudian mendapatkan hasil keluaran yang dikembalikan ke browser web. Masalahnya di sini adalah bahwa Anda perlu menulis sebagian besar alat GP dari awal. Tautan GeoTools yang Anda bagikan terlihat menarik. Akan sangat keren melihat contoh langsung dari operasi GP yang dilakukan di back-end oleh GeoServer!
Alex Tereshenkov
2

Plugin OpenGeo untuk Qgis dapat menggunakan layanan wps yang di-host di geoserver. Ini berfungsi seperti bagaimana arcgis menggunakan kotak alat mereka, itu akan mengharuskan layanan wps diaktifkan dan proses tersedia. Anda juga harus memeriksa pyWPS

John Jediny
sumber
bisakah Anda menjelaskan pada plugin QGIS? Apakah hanya klien desktop yang dapat mengkonsumsi layanan WPS? Saya tertarik membuat layanan WPS kemudian dalam alur kerja yang sama dengan yang dimiliki Esri (atau mendekati itu dengan lebih banyak konfigurasi dan sedikit pemrograman yang dapat diterima). Mungkin Anda dapat berbagi informasi tentang pengembangan layanan wps dari GIS desktop ke GeoServer atau platform server GIS lainnya?
Alex Tereshenkov