Сравниваете разные ГИС серверы с открытым исходным кодом?

35

В настоящее время я знаю следующие ГИС-серверы с открытым исходным кодом:

  • Geoserver : поддержка Java, векторных и растровых изображений, также поддерживается. Сейчас наравне с mapserver (по производительности).
  • mapserver : c / c ++, раньше был самым быстрым сервером. Лучше для растра, чем для вектора?
  • гид по карте : не знаю этого
  • Мапник : новый малыш на блоке? не знаю много об этом, но это выглядит привлекательно
  • mapfish : насколько я знаю, только получает векторные данные для отображения в openlayers. Существует рельсовая реализация.

Если возможно, я бы хотел какое-то сравнение, которое вы выбрали или предпочли и почему?

Я смотрю на создание сайта рельсов, и мне нужен какой-то ГИС-сервер. Мне понадобятся растровые и векторные данные (кликабельно). Это выполнимо с одним сервером? Бэкэнд-базой будет Postgis.

nathanvda
источник
1
Немного не по теме, но это было хорошее чтение и пролило некоторый свет на mapnik: alistapart.com/articles/takecontrolofyourmaps
nw1
почему никто не говорил о картогиде? что насчет этого ? какой-нибудь опыт использования?
Geogeek
Для тех, кто интересуется сравнением производительности, следующее сообщение в блоге может быть весьма интересным и полезным: «Инструменты для сопоставления сопоставлений при заполнении листов
Runge
Мммм, к сожалению, в этом посте нет комментариев. Геосервер действительно плох, и я думаю, они просто использовали стандартную установку. Они используют неправильную JRE, и я предполагаю, что они не установили нативную визуализацию: docs.geoserver.org/stable/en/user/production/java.html
nathanvda

Ответы:

14

Этот вопрос был преобразован в вики сообщества, а вики заблокированы, потому что это пример вопроса, который ищет список ответов и кажется достаточно популярным, чтобы защитить его от закрытия. Его следует рассматривать как особый случай, и его не следует рассматривать как тип вопроса, который предлагается на этом или любом сайте Stack Exchange, но если вы хотите внести в него больше контента, сделайте это, отредактировав этот ответ. ,


Laurent Jegou постоянно обновляет замечательный документ, в котором перечислены все известные решения для веб-картографии, их область применения и функции (как с использованием технологии клиента, так и сервера). К сожалению, это по-французски, но так как это все о технических вещах, вы сможете легко понять это.

Определенно, этого будет недостаточно, чтобы выбрать правильный, но, по крайней мере, вы сможете сразу исключить некоторые из них.

Последняя версия доступна по следующему адресу:

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

PolyGeo
источник
4
Это действительно невероятно интересный график. Потрясающая работа Лорана Жегу! Спасибо за ссылку! И мне открываются новые соперники: геомая и диплом.
Натанвда
3
И tileMill может быть добавлен с момента последнего обновления ( tilemill.com ) ;-)
simo
1
TileMill выглядит действительно красиво. Мапник с добавленной консолью управления (или так я ее прочитал). Спасибо за совет!
Натанвда
8

Ну, это может быть огромное обсуждение, я постараюсь дать вам несколько быстрых замечаний в нескольких словах. Вы можете сравнить программное обеспечение в вашем списке с трех точек зрения:

1) выступления

Здесь уже предложенный тест будет вашим лучшим другом, по крайней мере, для WMS

2) Предлагаемые услуги

Как правило, вы можете решить, какие услуги предлагаются с помощью программного обеспечения: эти услуги могут соответствовать веб-стандартам OGC (WMS, WFS, WCS, WPS, SOS, OCS ...) или нет.

GeoServer изначально предлагает WMS, WCS и WFS (для последних двух это эталонная реализация). Он также может оказывать поддержку WPS с расширением.

MapServer предлагает WMS, WFS, WCS и SOS, но в отношении GeoServer ему не хватает транзакционных функций для WFS (WFS-T). Что касается GeoServer, во многих случаях он имеет меньше затрат на архитектуру (так как работает с Apache httpd) и имеет огромный список поддерживаемых форматов данных через GDAL / OGR. Ему не хватает хорошего веб-интерфейса администратора (как в GeoServer), но файлы карт можно легко модифицировать и настраивать с помощью API оболочки или mapscript.

Mapnik - мощная библиотека, которую можно использовать в качестве WMS (и, согласно последним тестам FOSS4G 2010, ее производительность впечатляет).

Существуют и другие хорошо известные программы, которые предоставляют реализации для WPS (pyWPS, ZooProject, 52n WPS), для OCS (GeoNetwork) и других.

Если вы рассматриваете MapFish, то вам, возможно, потребуется добавить список GeoDjango и FeatureServer, который предлагает нестандартную реализацию веб-сервисов ГИС. GeoNode - это классная попытка web2.0fy SDI (т. Е. С тегами и социальным материалом).

Также взгляните на нового ребенка в блоке: TileMill, который в основном основан на Mapnik и построен на платформе node.js

3) Архитектура

GeoServer и GeoNetwork основаны на Java (поэтому им требуется механизм сервлетов, такой как Tomcat).

MapServer и Mapnik основаны на C, и они хорошо работают на Apache httpd.

Все остальные программы в основном основаны на Python с использованием разных фреймворков: MapFish использует Pylons, GeoDjango и GeoNode использует Django, FeatureServer и pyWPS на чистом Python. Все они могут работать в httpd через modPython или WSGI или как CGI.

Обратите внимание, что почти все это программное обеспечение основано на библиотеке ubiquos GDAL (часто даже в проприетарном программном обеспечении).

оборота капуоти
источник
7

С точки зрения производительности вам могут быть интересны следующие результаты тестов:

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

Данные о самих тестах можно найти по адресу http://wiki.osgeo.org/wiki/Benchmarking_2010 .

оборота дарьяпра
источник
Очень круто. Судя по тому, что я вижу, Mapserver по-прежнему зверь производительности, кажется, побеждает всех остальных соперников. я предполагал, что Geoserver займет второе место в целом, но mapnik работает на удивление хорошо; даже на Postgis он, кажется, превосходит mapserver (без перепроецирования). Итак, как они сравнивают по функциям?
Натанвда
7

Существует также QGIS Server (WMS). Прочтите «Сервер QGIS - Сервер WMS для масс» для получения дополнительной информации.

Я собрал небольшое сравнение функций между Geoserver и UMN Mapserver .

MapFish - хороший фреймворк, но вам все еще нужен картографический сервер в фоновом режиме. Если вы работаете с Rails, MapFish кажется хорошим способом сделать следующее:

Инфраструктура MapFish построена на основе открытого протокола на основе HTTP, что позволяет использовать различные совместимые реализации. В дополнение к эталонной реализации, предоставляемой платформой на основе Python / Pylons, в настоящее время доступны две другие реализации: плагин Ruby / Rails (GPLv3) и плагин PHP / Symfony (BSD)

оборота Подземье
источник
2
QGIS Mapserver кажется интересным, особенно потому, что он поставляется в паре с клиентом QGIS, где вы можете подготовить свой файл карты. Сравнение между Geoserver и Mapserver также полезно. Действительно: общий интерфейс веб-администратора - огромный плюс для меня.
Натанвда
Geoserver очень быстро настраивается, и веб-интерфейс значительно улучшился по сравнению с предыдущими версиями. Но я действительно скучаю по гибкости функции mapScript для UMN Mapserver.
Подземье
2

Также может быть полезно упомянуть геомаха. http://apps.geomajas.org/showcase/ Особенно полезно для создания «приложения» ГИС, а не просто для представления карт. Мне нравятся расширенные параметры запросов и редактирования.

johanvdw
источник
Что я слышал о geomajas, так это о том, что он основан на java и имеет среду разработки для клиентов. Так что это заставит меня развиваться в Java для этого. Я хочу что-то, что я могу использовать на своем собственном сайте (рельсы), используя openlayers или что-то подобное. Так что спасибо за отзыв, но лично для меня не подходит. Этот документ: geotests.net/cours/sigma/webmapping/tableau_webmapping2010.pdf, кажется, подтверждает это.
Натанвда
Не совсем. Geomajas также предлагает интерфейс javascript для разработки клиента. Для расширенных настроек карты вам нужно использовать Java, но вы можете делать почти все через Javascript.
Йоахим Ван дер Аувера
Спасибо, я не знал о Geomajas, но в последнее время вижу мало активности на github.
david.perez