Зачем нам нужен Mapserver / Geoserver для представления данных из пространственной базы данных в веб-браузер?

12

Я пытался «Как я установил GeoServer на старой машине», и с помощью @iant я настраивал Tomcat и все.

У меня внезапно возник вопрос ... зачем нам MapServer и GeoServer?

Могут ли эти серверы извлекать данные из уровня базы данных по запросу пользователя и представлять только то, что пользователь запросил из базы данных?

Kinkajou
источник

Ответы:

19

Ответ прост: они вам не нужны , но это значительно облегчает жизнь. У вас должен быть какой-то серверный элемент между вашей базой данных и веб-браузером: так что вы можете написать свой собственный сервер на PhP (или Java или что-то еще) и обработать все капризы базы данных, которую вы используете, и разобраться с банковским переводом. форматы и т. д. и делать отладку и тестирование. Или вы можете стоять на 131 человеко-году , потраченном на разработку GeoServer (или на 53 человеко-года MapServer), и начать обслуживать карты сегодня днем.

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

Ян Тертон
источник
1
Geoserver прост в установке и внедрении - зачем изобретать велосипед, когда какой-то продукт находится в свободном доступе. Одним словом будет «контроль» над данными, проекция и распространение через веб-браузер
Mapperz
Как бы вы изменили ваши данные? (У меня есть около 30+ подобных вопросов, которые я могу вам дать)
Раги Язер Бурхум
6

Это действительно зависит от того, что вам нужно делать с данными.

Например, если вам нужно только отображать векторные точки поверх базовой карты, вы можете создать очень простой серверный скрипт (на Python, .NET, PHP) для публикации пространственных данных из вашей базы данных. Способность PostGIS обслуживать GeoJSON делает это тривиальным.

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

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

Как упоминает Ян, существует много преимуществ использования программного обеспечения картографического сервера. Вероятно, главное преимущество - картографические опции для динамического отображения данных. Также доступны стандарты OGC, прогнозы, запросы атрибутов, легенды, метаданные, кэширование, безопасность, различные пространственные форматы, различные форматы изображений, печать и т. Д.

geographika
источник
Вы говорите, что можете написать простой сервер, который общается с Postgis (безопасным, без ошибок) быстрее, чем я могу распаковать GeoServer, указав его на Postgis? Помните, что GeoServer также может обслуживать GeoJSON.
Ян Тертон
3
Предполагая, что у вас есть ASP.NET или веб-сервер Python, а затем ~ 10 строк кода для обслуживания объекта по ID (например)
geographika
3

Используя такую ​​инфраструктуру, как Geomajas , вы также можете напрямую извлекать объекты из базы данных и отправлять их в браузер, используя SVG / VML для рендеринга / редактирования в браузере. Существует также плагин растеризации, который позволяет растеризацию на сервере.

Йоахим Ван дер Аувера
источник