ArcGIS geoprocessing service konseptine açık kaynaklı bir alternatif mi?


15

Esri'nin coğrafi işleme hizmetleri ile oluşturduğu bir mantığın uygulanmasına ilişkin herhangi bir örnek arıyorum. Özel bir araç yazarsınız veya bir sistem aracı olabilir >> bu işlevi bir web hizmeti olarak ortaya koyduğunuzda yayınlıyorsunuz >> web hizmetini bir istemciyle tüketiyorsunuz.

Klasik basit bir örnek: kullanıcı bir nokta oluşturmak için haritayı tıklayabilir> koordinatlar sunucuya gönderilir> arabellekleme işlemi arka uçta yürütülüyor> tampon bölge özelliği (veya sadece bir görüntü) istemciye geri gönderiliyor ve harita tuvalinde gösterilir. Esri GP hizmetlerini son 3 yıldır geliştiriyorum ve özellikle 10.1 sürümünden bu yana hoş bir deneyim oldu.

Benzer bir mantık oluşturmak için kullanabileceği açık kaynaklı sistem / çözüm örnekleri var mı?

Ben googled ve sextante gis buldum ama bu nasıl çalışır ve Esri aracılığıyla kullanılabilir mantık ne kadar belirli bir şey yoktu. 52Kuzey de bunun üzerinde çalışıyor gibi görünüyor, ama yine de kavramın temiz açıklamasını kaçırıyorum.

Yanıtlar:


6

Mevcut WPS'yi Kullanma veya Oluşturma

Burada web işleme hizmetleri (WPS) hakkında bir açıklama / öğretici var . Bu işlemlerin çoğu, GeoServer gibi bir sunucuya gönderilen ve bu işlemi barındıran HTTP istekleri kullanılarak yapılacaktır . GeoServer bağlantısı, yazılımlarını kullanarak bir WPS'yi barındırma ve çağırma genel sürecini özetleyecektir. GeoServer'ın WPS uzantısı, arabelleğe alma ve kavşak işlemleri gibi ortak bir mekansal fonksiyonların kütüphanesi olan JTS Topology Suite süreçleriyle birlikte gelir. Burada OTS kütüphanesi kullanılarak bir tampon işlemi yürütme üzerindeki bir örnektir.

Diğer Yollar

Yine de bunu yapmanın başka yolları da var. Web ekibimiz, basit analizler yapmak için PostGRE / PostGIS veritabanlarına karşı sorgular kullanır, ancak bunu tam olarak bilmiyorum.

Araştırmaya başladığım bir fikir , mekansal analiz yapmak için PySal / GDAL gibi açık kaynaklı python betiklerinin kullanılmasını içerir . Bu komut dosyalarını sunucunuzda çalıştırmak ve sonuçları geri vermek için bazı JavaScript / AJAX (veya sunucu tarafı dilleri) kullanmanız gerekir. Karmaşık bir seçenek olurdu, ancak ESRI'nin aksine size daha iyi özelleştirme seçenekleri sunacağına inanıyorum.

Python komut dosyalarına bir parametre olarak geçmek için özellikleri bir GeoJSON dizesi içine kırmak gerekir düşünüyorum. Oradan, görüntülenecek istemciye geri dönmek için bu sonucu tekrar GeoJSON dizesine dönüştürmeniz gerekir. Olarak Python böyle paketler Düzgün bir GeoJSON dize yorumlayabilir. Diğerleri GeoJSON'u kullanmak için bazı geçici çözümlere ihtiyaç duyabilir veya kullanmayı düşünmediğim daha iyi bir seçenek olabilir.

Başka bir seçenek, mekansal analiz yapacak bir Java web uygulaması yazmak için GeoTools'u kullanmak olacaktır. Bu aynı zamanda GeoJSON dizelerini destekler ve bazı yerleşik uzamsal analiz işlevlerine sahiptir. Çeşitli uygulamalarını gösteren bazı ekran görüntüleri var .

Kendi WPS'nizi oluşturmak veya bir sunucu tarafı komut dosyası çalıştırmak mümkündür. ESRI'nin yaptığı kadar kolay olmayacak, ancak açık kaynak kullanıyorsanız ücretsiz olacak.

Hangi yolu seçerseniz seçin, harika bir konu olduğu için buradan güncelleyin!


çok teşekkür ederim, harika cevap. Aklımda tuttuğum alternatiflerden birini seçtiniz - JS web sayfasındaki Python .py dosyalarını kullanıcı verileri tarafından gönderilen, bu verileri Python işlevlerine besleyen ve daha sonra çıktı sonuçlarını web tarayıcısına döndüren tetikleyici. Buradaki şey, GP araçlarının çoğunu sıfırdan yazmanız gerektiğidir. Paylaştığınız GeoTools bağlantısı ilginç görünüyor. GeoServer tarafından arka uçta gerçekleştirilen bir GP operasyonunun canlı bir örneğini görmek gerçekten harika olurdu!
Alex Tereshenkov

2

Qgis için OpenGeo eklentisi geoserver üzerinde barındırılan wps servislerini kullanabilir. Arcgis'in araç kutularını nasıl kullandığı gibi çalışır, wps hizmetinin etkinleştirilmesini ve işlemin kullanılabilir olmasını gerektirir. Ayrıca pyWPS'yi de kontrol etmelisiniz


QGIS eklentisi hakkında ayrıntılı bilgi verir misiniz? Sadece WPS hizmetlerini kullanabilen bir masaüstü istemcisi mi olacak? Daha sonra Esri'nin sahip olduğu benzer bir iş akışında WPS hizmetleri yazmakla ilgileniyorum (veya daha fazla yapılandırma ve hafif programlama kabul edilebilir). Belki herhangi bir masaüstü CBS'den GeoServer'a veya başka bir CBS sunucu platformuna wps hizmeti geliştirme hakkında bilgi paylaşabilirsiniz?
Alex Tereshenkov
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.