Membandingkan server GIS open source yang berbeda?

35

Saat ini saya tahu server GIS open source berikut:

  • Geoserver : berbasis java, dukungan vektor dan bitmap, juga mendukung. Sekarang setara dengan mapserver (kinerja-bijaksana).
  • mapserver : c / c ++, dulunya adalah server tercepat. Lebih baik untuk raster daripada vektor?
  • mapguide : tidak tahu ini
  • mapnik : anak baru di blok itu? tidak tahu banyak tentang itu, tetapi terlihat menarik
  • mapfish : sejauh yang saya tahu, hanya mengambil data vektor untuk ditampilkan di openlayers. Memang ada implementasi rel.

Jika memungkinkan saya ingin semacam perbandingan, mana yang Anda pilih atau sukai dan mengapa?

Saya melihat membangun situs web rel, dan memerlukan beberapa jenis server GIS. Saya akan membutuhkan data raster dan vektor (dapat diklik). Apakah ini bisa dilakukan dengan satu server? Database Backend akan menjadi Postgis.

nathanvda
sumber
1
Agak di luar topik, tetapi ini adalah bacaan yang bagus dan menyoroti Mapnik: alistapart.com/articles/takecontrolofyourmaps
nw1
mengapa tidak ada yang berbicara tentang mapguide? bagaimana dengan itu? ada pengalaman menggunakannya?
geogeek
Bagi mereka yang tertarik dengan perbandingan kinerja, posting blog berikut ini bisa sangat menarik dan berguna: "Benchmarking Mapping Toolkit di Tile Seeding" - mapsurfernet.com/blog/…
Runge
Mmmm sayangnya tidak ada pilihan komentar pada posting blog itu. Geoserver benar-benar buruk, dan saya kira mereka hanya menggunakan instalasi standar. Mereka menggunakan JRE yang salah, dan saya kira
nathanvda

Jawaban:

14

Pertanyaan ini telah dikonversi ke Wiki Komunitas dan wiki dikunci karena ini adalah contoh pertanyaan yang mencari daftar jawaban dan tampaknya cukup populer untuk melindunginya dari penutupan. Itu harus diperlakukan sebagai kasus khusus dan tidak boleh dipandang sebagai jenis pertanyaan yang didorong pada ini, atau situs Stack Exchange, tetapi jika Anda ingin berkontribusi lebih banyak konten untuk itu maka jangan ragu untuk melakukannya dengan mengedit jawaban ini .


Laurent Jegou terus memperbarui dokumen hebat yang mencantumkan semua solusi pemetaan web yang diketahui beserta ruang lingkup dan fiturnya (dengan teknologi klien dan server). Sayangnya ini dalam bahasa Prancis, tetapi karena ini semua tentang hal-hal teknis Anda akan dapat memahaminya dengan mudah.

Jelas, itu tidak akan cukup untuk memilih yang tepat, tetapi setidaknya Anda akan dapat mengecualikan beberapa dari mereka sekilas.

Versi terbaru tersedia di url berikut:

http://www.geotests.net/cours/sigma/webmapping/2016/fig6_2016.pdf

PolyGeo
sumber
4
Itu memang bagan yang sangat menarik. Karya luar biasa Laurent Jegou! Terima kasih atas tautannya! Dan bagi saya mengungkapkan pesaing baru: geoma dan deegree.
nathanvda
3
Dan tileMill dapat ditambahkan sejak pembaruan terakhir ( tilemill.com ) ;-)
simo
1
TileMill memang terlihat bagus. Mapnik dengan konsol manajemen tambahan (atau jadi saya membacanya). Terima kasih atas tipnya!
nathanvda
8

Nah, ini bisa menjadi diskusi besar, saya akan mencoba memberi Anda beberapa poin cepat dalam beberapa kata. Anda dapat membandingkan perangkat lunak dalam daftar Anda dari sudut pandang pohon:

1) Pertunjukan

Di sini patokan yang sudah disarankan akan menjadi teman terbaik Anda, setidaknya untuk WMS

2) Layanan yang ditawarkan

Secara umum Anda dapat mempertimbangkan layanan mana yang ditawarkan dari perangkat lunak: layanan ini mungkin sesuai dengan standar web OGC (WMS, WFS, WCS, WPS, SOS, OCS ...) atau tidak.

GeoServer secara native menawarkan WMS, WCS dan WFS (untuk dua yang terakhir itu adalah implementasi referensi). Itu juga dapat memberikan dukungan untuk WPS dengan ekstensi.

MapServer menawarkan WMS, WFS, WCS dan SOS, tetapi sehubungan dengan GeoServer tidak memiliki fitur transaksional untuk WFS (WFS-T). Sehubungan dengan GeoServer dalam banyak kasus memiliki lebih sedikit arsitektur overhead (karena berfungsi dengan Apache httpd) dan memiliki daftar besar format data yang didukung melalui GDAL / OGR. Itu tidak memiliki antarmuka web admin yang bagus (seperti di GeoServer), tetapi mapfile dapat dengan mudah dimodifikasi dan disesuaikan melalui shell atau API skrip mapps.

Mapnik adalah perpustakaan yang kuat yang dapat digunakan sebagai WMS (dan menurut tolok ukur terakhir di FOSS4G 2010 kinerjanya sangat mengesankan).

Ada perangkat lunak lain yang tahu yang menyediakan implementasi untuk WPS (pyWPS, ZooProject, 52n WPS), untuk OCS (GeoNetwork) dan yang lainnya.

Jika Anda mempertimbangkan MapFish maka Anda mungkin perlu menambahkan daftar GeoDjango dan FeatureServer yang tidak menawarkan implementasi standar layanan web GIS. GeoNode adalah upaya keren untuk web2.0fy SDI (yaitu dengan tag dan hal-hal sosial).

Juga lihat anak baru di blok: TileMill, yang terutama didasarkan pada Mapnik, dan itu dibangun di atas kerangka node.js

3) Arsitektur

GeoServer dan GeoNetwork berbasis Java (sehingga mereka membutuhkan mesin servlet seperti Tomcat).

MapServer dan Mapnik berbasis C, dan mereka berjalan dengan baik di Apache httpd.

Semua perangkat lunak lainnya terutama didasarkan pada Python menggunakan kerangka kerja yang berbeda: MapFish menggunakan Pylons, GeoDjango dan GeoNode menggunakan Django, FeatureServer dan pyWPS menggunakan Python murni. Mereka semua dapat berjalan di httpd melalui modPython atau WSGI atau sebagai CGI.

Perhatikan bahwa hampir semua perangkat lunak ini didasarkan pada perpustakaan GDAL di mana-mana (sering bahkan ditemukan dalam perangkat lunak berpemilik).

capooti
sumber
7

Dari sudut pandang kinerja, Anda mungkin menemukan menarik hasil benchmark berikut:

http://www.slideshare.net/gatewaygeomatics.com/wms-performance-shootout-2010

Data tentang tolok ukur sendiri dapat ditemukan di http://wiki.osgeo.org/wiki/Benchmarking_2010 .

dariapra
sumber
Sangat keren. Dari apa yang saya lihat Mapserver masih binatang kinerja, tampaknya mengalahkan setiap pesaing lainnya turun. Saya berasumsi Geoserver akan menempati posisi kedua secara keseluruhan, tetapi kinerja mapnik secara mengejutkan baik; bahkan pada Postgis tampaknya mengungguli mapserver (tanpa proyeksi ulang). Jadi, bagaimana mereka membandingkan fitur-bijaksana?
nathanvda
7

Ada juga QGIS Server (WMS). Baca "Server QGIS - Server WMS untuk massa" untuk informasi lebih lanjut.

Saya telah menyusun perbandingan fitur kecil antara Geoserver dan UMN Mapserver .

MapFish adalah kerangka kerja yang baik, tetapi Anda masih membutuhkan beberapa server peta di latar belakang. Jika Anda bekerja dengan Rails, MapFish sepertinya cara yang baik untuk pergi:

Kerangka kerja MapFish dibangun di sekitar protokol berbasis HTTP terbuka, memungkinkan berbagai implementasi yang dapat dioperasikan. Selain implementasi referensi yang disediakan oleh kerangka kerja Python / Pylons, dua implementasi lainnya saat ini tersedia: plugin Ruby / Rails (GPLv3) dan plugin PHP / Symfony (BSD)

underdark
sumber
2
Server QGIS tampaknya menarik, terutama karena ia dipasangkan dengan klien QGIS, tempat Anda dapat menyiapkan mapfile Anda. Perbandingan antara Geoserver dan Mapserver juga bermanfaat. Memang: total antarmuka web-admin adalah nilai tambah besar bagi saya.
nathanvda
Geoserver sangat cepat untuk diatur dan antarmuka web telah meningkat banyak dibandingkan versi sebelumnya. Tapi saya benar-benar kehilangan fleksibilitas fitur mapcript UMN Mapserver.
underdark
2

Mungkin bermanfaat untuk menyebutkan geoma juga. http://apps.geomajas.org/showcase/ Khusus berguna untuk membangun 'aplikasi' GIS daripada hanya presentasi peta. Saya suka permintaan lanjutan dan opsi pengeditan.

johanvdw
sumber
Apa yang saya dengar tentang geoma adalah bahwa itu berbasis java, dan memiliki kerangka pengembangan klien. Jadi itu akan memaksa saya untuk berkembang di java untuk itu. Saya ingin sesuatu yang dapat saya gunakan di situs web saya sendiri (rel) menggunakan openlayers atau yang serupa. Jadi terima kasih atas tipnya, tetapi bagi saya pribadi tidak cocok. Dokumen ini: geotests.net/cours/sigma/webmapping/tableau_webmapping2010.pdf tampaknya menguatkan itu.
nathanvda
Tidak terlalu. Geomajas juga menawarkan antarmuka javascript untuk melakukan pengembangan klien. Untuk penyesuaian lanjutan pada peta, Anda perlu menggunakan Java, tetapi Anda bisa melakukan apa saja di Javascript.
Joachim Van der Auwera
Terima kasih, saya tidak tahu tentang Geomajas, tapi saya melihat sedikit aktivitas di github belakangan ini.
david.perez