Навіщо нам потрібен Mapserver / Geoserver для представлення даних з просторової бази даних до веб-браузера?


12

Я намагався "Як я встановив GeoServer на старій машині", і від @iant я налаштовував Tomcat і все.

У мене раптом виникло питання ... навіщо нам потрібні MapServer і GeoServer?

Чи можуть ці сервери витягувати дані з рівня бази даних, коли користувач запитує, і лише представляючи те, що користувач запитав у бази даних?

Відповіді:


19

Проста відповідь полягає в тому, що вони вам не потрібні , але це значно полегшує життя. У вас повинен бути якийсь елемент сервера між вашою базою даних та веб-браузером: таким чином ви можете написати власний сервер у PHP (або java чи будь-який інший) та обробити всі капризи бази даних, яку ви використовуєте, і впорядкувати банківський переказ формати тощо і робити налагодження та тестування. Або ви можете стояти на 131 людино-літній період, який зайшов у розвиток GeoServer (або 53 людини на MapServer) і почати подавати карти сьогодні вдень.

І все, що є перед тим, як розпочати мою стандартну ренду щодо стандартів, і чому дозволити будь-кому, хто може впровадити стандарт, споживати ваші карти у свого клієнта, не маючи зайвого кодування з вашого чи їхнього боку, - це добре.


1
Геосервер легко встановити та реалізувати - навіщо заново винаходити колесо, коли якийсь продукт є у вільному доступі. Одним словом буде «контроль» над даними, проекцією та розповсюдженням через веб-браузер
Mapperz

Як би ви стилювали свої дані в іншому випадку? (У мене є близько 30+ подібних питань, які я можу тобі дати)
Рагі Ясер Бурхум

6

Це дійсно залежить, що вам потрібно зробити з даними.

Наприклад, якщо вам потрібно лише відображати векторні точки над базовою картою, ви можете створити дуже простий сценарій на стороні сервера (в Python, .NET, PHP) для публікації просторових даних зі своєї бази даних. Можливість PostGIS обслуговувати GeoJSON робить це дрібницею.

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

MapServer або GeoServer у цих випадках були б величезними накладними витратами за невелику користь. І в налаштуванні та підтримці будь-якого з цих додатків та пов'язаних з ними залежностей великі витрати - особливо якщо вам потрібно розгорнути на спільному сервері або обмежити доступ.

Як згадує Іан, існує багато переваг використання програмного забезпечення сервера карт. Мабуть, головна перевага - картографічні варіанти динамічного відображення даних. Стандарти OGC, проекції, запити атрибутів, легенди, метадані, кешування, безпека, різні просторові формати, різні формати зображень, друк тощо.


Ви кажете, що можете написати простий сервер, який розмовляє з postgis (захищеним способом, без помилок) швидше, ніж я можу розпакувати GeoServer вказати його на Postgis? Пам'ятайте, що GeoServer може також обслуговувати GeoJSON.
Ян Тертон

3
Якщо припустимо, що у вас встановлений ASP.NET або веб-сервер Python, то його ~ 10 рядків коду для обслуговування функції за ідентифікатором (наприклад)
geographika

3

Використовуючи такий фреймворк, як Geomajas , ви також можете безпосередньо витягнути функції з бази даних та надіслати їх до браузера, використовуючи SVG / VML для візуалізації / редагування в браузері. Існує також плагін для растеризації, який дозволяє растерізувати на сервері.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.