GIS-LAB

Географические информационные системы и дистанционное зондирование

Создание картографических сервисов с использованием MapServer. Введение

Обсудить в форуме Комментариев — 5Редактировать в вики

Эта страница опубликована в основном списке статей сайта
по адресу http://gis-lab.info/qa/mapserver.html


В статье приводится обзор MapServer как среды разработки картографических web-приложений.

На сегодняшний день MapServer является одной из самых популярных сред создания картографических web-сервисов с открытым кодом. Исходно, MapServer разрабатывался Университетом Миннесоты совместно с Департаментом Природных Ресурсов Штата Миннесота и NASA, а в настоящее время поддерживается как один из проектов ассоциации OSGeo. Возможность работы MapServer практически на любых платформах (в том числе Windows, Linux, Mac OS, Solaris), широчайшие функциональные возможности, легкость интеграции с различными СУБД и открытость кодов предопределила популярность программы. Cтрого говоря, MapServer позиционируется не как конечное приложение, а как среда разработки (development environment/platform). Так, для платформы Windows, MapServer поставляется сконфигурированным серверным комплектом, включающим следующие компоненты:

  • Apache HTTP серверная версия 2.0.58
  • PHP версии 5.1.4 или 4.4.3-dev
  • MapServer CGI 4.8.4
  • MapScript 4.8.4 (C#, Java, PHP, Python)
  • Поддержка данных Oracle 10 g, и SDE 9.1 (при наличие соответствующих клиентов/ dlls)
  • Поддержка формата MrSID
  • GDAL/OGR утилиты
  • MapServer утилиты
  • PROJ утилита
  • Shapelib утилиты
  • Shp2tile утилита
  • OGR/PHP расширение 1.0.0
  • OWTChart 1.2.0

MapServer является очень мощным инструментом создания картографических web-сервисов и по своей функциональности не уступает платному ПО, а по части легкости переконфигурирования и интеграции с СУБД превосходит многие из них.

К основным достоинства программы можно отнести следующие:

  1. Возможность работы на практически любых платформах
  2. Поддержка большого числа растровых и векторных форматов данных
  3. Полное соответствие стандартам разработанными OpenGIS Consortium в отношении web mapping services (поддержка WMS, WFS, WCS стандартов)
  4. Возможность переконфигурирования и программирования с использованием Perl, PHP, Java, C, Python и др.
  5. Возможность интеграции с Oracle, Sybase, MySQL, PostgreSQL и другими СУБД
  6. Cоздание высококачественного картографического результата (поддержка TrueType шрифтов, масштабируемых подписей, раскрасок, экспорт в png , tiff , gif , jpeg форматы)
  7. Полностью открытый бесплатный компилируемый код на C и мощная пользовательская поддержка

Тем не менее, нельзя сказать, что MapServer является простой средой разработки. Для создания полнофункционального сайта, потребуются знания одного или нескольких перечисленных выше языков программирования. Однако, существует несколько возможностей обойти необходимость программирования интерфейса картографического сервиса “с нуля”. Для этого можно использовать уже написанные открытые библиотеки кодов на PHP , Java или других языках. Такие библиотеки по сути представляют из себя наборы написанных кодов и скриптов для создания инструментов и функций картографических сервисов.

Наиболее простыми в использование, на наш взгляд являются, «надстройки» Chameleon и P.mapper. Кроме того, существует и ряд других, не менее полезных ресурсов:

Об установке MapServer+Chameleon и MapServer+P.mapper и создании WMS с их помощью можно будет прочитать в следующих статьях на сайте GIS-Lab. На настоящий момент на нашем сайте доступно описание процесса установки MapServer для Windows и начала работы с MapServer.

Ниже мы приводим несколько примеров сервисов, разработанных в таких связках - обратите внимание, что на создание таких приложений требуется всего несколько дней (полный список примеров):

[править] Ссылки по теме

Обсудить в форуме Комментариев — 5Редактировать в вики

Последнее обновление: 2014-05-15 00:51

Дата создания: 15.10.2006
Автор(ы): Анна Костикова


(Геокруг)

Если Вы обнаружили на сайте ошибку, выберите фрагмент текста и нажмите Ctrl+Enter