Melakukan aljabar peta raster di GIS web open source?


9

Peta aljabar untuk raster mudah dengan ArcGIS Raster Calculator (atau QGIS). Saya pikir ini akan mudah dengan server GIS web seperti GeoServer dan MapServer plus OpenLayers dll. Yang ingin saya capai adalah melakukan hal-hal sederhana seperti membagi dua gambar dan menghasilkan gambar rasio ketiga untuk ditampilkan di halaman web. Saya menghabiskan berminggu-minggu untuk menemukan solusi dan ternyata cukup sulit (untuk saya).

Saya sudah mencoba beberapa hal termasuk:

  1. PostGIS raster. Saya pikir aljabar raster bukan masalah di sini.

    Tetapi raster PostGIS cukup sulit untuk dimuat ke GeoServer. Ada banyak banyak pertanyaan yang berulang kali diajukan tentang cara memuat pgraster di GeoServer. Lihat mis. Bagaimana cara mengimpor GeoTIFF via postGIS ke GeoServer? ? , /gis/86006/publish-rasters-stored-in-postgresql-with-geoserver ?, antara lain. Tidak ada satu jawaban pun di GIS.SE atau situs web resmi GeoServer yang memberikan daftar lengkap langkah-langkah yang dapat diikuti untuk berhasil. Memuat pgraster ke MapServer telah melaporkan keberhasilan, tetapi dengan kinerja yang sangat lambat. Keduanya tampaknya memerlukan beberapa ubin, dan perintah satu-liner untuk mengimpor raster ke server mana pun tampaknya tidak mungkin.

  2. GeoTIFF

    GeoTIFF mudah dimuat ke GeoServer dan MapServer. Tapi apa yang bisa kita lakukan dengannya? Tanpa PostGIS seperti SQL, saya menoleh dan sebentar mencari menggunakan WCS untuk melakukan aljabar peta, tetapi tidak menemukan banyak. Apakah WCS jalur yang layak untuk ini dengan server saat ini?

  3. Program dengan cara yang sulit

    Entah bagaimana gunakan AJAX untuk memanggil halaman PHP atau menulis WPS menggunakan GeoServer untuk mengimpor gambar ke PostGIS, melakukan aljabar peta dan kemudian mengonversi pgraster hasil ke format (misalnya GeoTIFF) yang dapat dengan mudah dimuat dan ditampilkan di GeoServer / MapServer.

  4. Tentu saja, seseorang dapat menulis kode untuk membaca GeoTIFF secara langsung dan melakukan aljabar peta tanpa dukungan GIS.

Tidak ada satu pun di atas yang tampaknya mudah atau masuk akal bagi saya mengingat kemudahan dengan aljabar yang sama dapat dilakukan di Desktop GIS.

Saya bertanya-tanya apakah seseorang memiliki pengalaman melakukan Peta Aljabar di lingkungan GIS web, dan dapat menyarankan jalur yang layak?

Saya tertarik dengan solusi Open Source (untuk alasan politik di dalam organisasi saya.) Saya menyadari bahwa ArcGIS Server dapat memanggil kode python ArcGIS, tetapi kami tidak memiliki lisensi dan lingkungan di sini tidak menguntungkan untuk mendapatkannya.


"Apakah ada cara yang masuk akal untuk ..." adalah ungkapan yang sangat bertele-tele (di mana, misalnya, "Bagaimana ..." berfungsi dengan baik) untuk memasukkan judul pertanyaan, jadi jika Anda dapat memikirkan cara yang lebih baik untuk menyatakan pertanyaan Anda daripada apa yang saya sarankan tolong lakukan. Juga, saya menganggap kata "software" untuk menyertakan API dan perpustakaan pemrograman, seperti GDAL, sehingga dengan interpretasi itu, pengembalian Anda edit saya mungkin tidak perlu. Namun, lakukan apa yang Anda inginkan jika Anda pikir itu menjelaskan pertanyaan Anda.
blah238

@ blah238 Terima kasih atas hasil editnya :). Saya mungkin bertele-tele, tapi saya pikir jelas ada cara untuk ..., hanya saja mereka tampaknya merupakan upaya yang tidak masuk akal dibandingkan dengan dunia ESRI / Desktop. Juga, Anda benar bahwa "perangkat lunak" dapat menyertakan API. Saya hanya ingin menekankan bahwa pengkodean dari awal adalah pilihan jika tidak ada hal lain yang cukup mudah untuk mencapai aljabar peta.
tinlyx

Jawaban:


4

Dengan hanya menggunakan perangkat lunak open source, Anda hampir pasti perlu melakukan pemrograman sendiri. GDAL adalah perpustakaan I / O raster open source de facto , jadi Anda mungkin akan menggunakannya atau salah satu dari banyak pembungkusnya. Anda dapat menggunakan Python (mis. Rasterio + numpy / scipy ) atau node.js, misal node-gdal (walaupun hati-hati saat ini sedang sinkron / memblokir). Sedangkan untuk benar-benar mengimplementasikannya sebagai layanan web, saya tidak yakin apa yang akan menjadi pendekatan terbaik, tetapi ada pertanyaan terkait di sini: Membandingkan server GIS open source yang berbeda?

Jika pemrograman bukan urusan Anda, Anda bisa melihat Server FME . Ini adalah produk komersial tetapi mungkin jauh lebih murah daripada ArcGIS Server, dan memiliki semua jenis transformator perhitungan raster , jadi saya akan sangat terkejut jika mereka tidak dapat mencapai apa yang perlu Anda lakukan. Anda tidak perlu memuat raster ke dalam database karena dapat membaca dari hampir semua format file raster .

Bagian server akan memungkinkan Anda untuk menjalankan transformasi (ruang kerja FME) pada server dan menggunakan API, misalnya API ISTIRAHAT Server FME , untuk memulai transformasi tersebut dan mengakses hasilnya.

Manfaat utama adalah Anda tidak perlu melakukan banyak hal jika ada pemrograman untuk mendapatkan layanan dan berjalan, hanya sedikit coding front-end untuk bekerja dengan API.


+1 terima kasih. Saya juga memikirkan rasdaman. Saya dapat memprogram, tetapi tidak merasa benar mengkodekannya bertahun-tahun setelah memetakan aljabar.
tinlyx

+1 Untuk mendukung python + gdal. Untuk melakukan aljabar raster dengan numpy sangat mudah. Juga, jika Anda bekerja dengan raster berbasis teks (seperti file .asc) maka Anda bahkan tidak perlu gdal (yang bisa jadi sangat sulit untuk diinstal, tergantung) dengan menggunakan numpy.loadtxt (lewati baris header, spasi sebagai pembatas, dll)
user1269942

Dengan rasdaman, Anda memiliki kemampuan untuk menggunakan WCPS untuk melakukan pemrosesan di server, meskipun Anda mungkin perlu melakukan beberapa skrip untuk membuat sintaksis WCPS karena melakukan dengan tangan bisa menjadi tantangan.
nmtoken

2

Apa yang Anda cari adalah server gambar. ArcGIS untuk Server memiliki ekstensi ini:

Ekstensi Gambar ArcGIS untuk Server

saya tidak tahu adanya padanan sumber terbuka.


1
OP meminta cara melakukan ini dalam konteks web, bukan untuk ekstensi ArcGIS.
John Powell

2
@ JohnBarça ekstensi yang disarankan adalah untuk ArcGIS untuk Server dan digunakan dalam konteks web.
PolyGeo

@ Tolong saya lupa mengatakan bahwa saya agak dibatasi untuk menggunakan open source GIS. Tapi terima kasih untuk sarannya. Ini sangat membantu.
tinlyx

1
@TingL Anda dapat mulai mencari alternatif open source server gambar arcgis
Pau

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.