Как работает Mapserver
В предыдущий раз мы говорили о некоторых критериях, почему картсервер и основы установки. Теперь давайте посмотрим на некоторые его действия в упражнении с картами cuates Чьяпаса.
Где монтируется
После установки Apache каталог публикации MapServer по умолчанию представляет собой папку OSGeo4W непосредственно над C: /
Внутри есть разные папки с приложениями в зависимости от того, что установлено, но папка для публикации должна находиться внутри apache. В этом случае папка называется gis.
- Затем внутри папка данных содержит слои, ортофото и т. Д.
- В папке etc находятся шрифты True Type, используемые для этикеток, с расширением .ttf. Также здесь есть текстовый файл, который поднимает их, и другой, определяющий символы.
- И, наконец, в папке httdocs зайдите на веб-страницы, которые поднимают сервис.
Веб-страница
В этом примере я буду использовать случай, показанный в прошлый раз. Он в основном содержит индексный файл, который перенаправляет на файл с расширением phtml, а это, в свою очередь, вызывает функции, построенные поверх php и карт. Папка содержит изображения, на которые есть ссылки на странице.
Если мы посмотрим на это, phtml - это просто оболочка, построенная из таблиц и вызовов функций mapscript / php. Вы должны использовать:
http://localhost/gis/gispalenque.phtml
Ниже приведен результат:
- к центру функция GMapDrawMap (),
- справа - вызов keymap GMapDrawKeyMap (),
- шкала шкалы ниже GMapDrawScaleBar (),
- и в случае функций развертывания условие относительно списка if (! IsHtmlMode ()) echo " с решениями: ZOOM_IN, ZOOM_OUT, RECENTER, QUERY_POINT.
При запуске развертывание выглядит следующим образом:
Файлы .map
Комбинация публикации Mapserver заключается в том, что Apache повышает, что отправляет php через mapscript и это затем выходит через эту оболочку. Но большая часть науки находится в файлах .map, которые не следует путать с файлами, созданными Mapinfo, Manifold или Mobile Mapper Office с тем же расширением.
Эти .map - текстовые файлы, которые содержат карту в форме скрипта. Их можно создать с помощью настольных программ, таких как Quantum GIS, если вы посмотрите, есть одна для основной карты, одна для Keymap и две для сервисов OGC wms и wfs. Посмотрим, как работает mapscript:
MAP
ИМЯ PALENQUE_DEMO
СТАТУС ВКЛЮЧЕН
РАЗМЕР 600 450
SYMBOLSET ../etc/symbols.txt
EXTENT 604299 1933386 610503 1939300 # СПИСОК ВСЕЙ КАРТЫ ПАЛЕНА
#EXTENT 605786 1935102 608000 1938800 #SOLO 01 SECTOR
ЕДИНИЦЫ ИЗМЕРЕНИЙ
SHAPEPATH "../data"
ПРОЗРАЧНОЕ ВКЛЮЧЕНИЕ
IMAGECOLOR 255 255 255
FONTSET ../etc/fonts.txt
- MAP указывает начальный скрипт
- STATUS, указывает, включена ли карта по умолчанию или нет.
- SIZE - размер дисплея
- SYMBOLSET показывает путь символов
- EXTENT - координаты дисплея. Символ # используется для аннотаций
- ЕДИНИЦЫ для единиц
- SHAPEPATH, путь, где слои
- Все в конце закончится командой END
Внутри код начинается с командной строки и заканчивается END, например, для минимального и максимального масштаба; каталог временных изображений:
Разработка
MINSCALE 2000000
MAXSCALE 50000000IMAGEPATH "C: \ OSGeo4W / tmp / ms_tmp /"
IMAGEURL "/ ms_tmp /"
END
Шкала шкалы:
масштабная линейка
IMAGECOLOR 255 255 255
LABEL
ЦВЕТ 0 0 0
МАЛЕНЬКИЙ РАЗМЕР
END
РАЗМЕР 300 5
ЦВЕТ 255 255 255
BACKGROUNDCOLOR 0 0 0
OUTLINECOLOR 0 0 0
ЕДИНИЦЫ километров
ИНТЕРВАЛЫ 3
СТАТУС ВКЛЮЧЕН
END
Растровый слой: находится в фоновом режиме, с описанием в списке как "Ортофото", из tiff, расположенного в папке данных:
СЛОЙ
ИМЯ ортофото
METADATA
"ОПИСАНИЕ" "OrtoFoto"
END
ТИП РАСТЕР
СТАТУС ВЫКЛЮЧЕН
DATA "C: \ OSGeo4W / apps / gis / data / ortofotoGral.tif"
#OFFSITE 0 0 0
END
Шпонный слой из полигонов, тематический, основанный на критериях, поднимающий некоторые данные на html-шаблоне, с меткой шрифта sans, размером 6, черным цветом и белыми краями буфера 5 ...
СЛОЙ
Область NAME02Zone
ТИП ПОЛИГОН
СТАТУС ВЫКЛЮЧЕН
ПРОЗРАЧНОСТЬ 50
ЭКСТЕНТ 607852 1935706 610804 1938807 МЕТАДАННЫЕ
«ОПИСАНИЕ» «Тема по сектору ценностей 02»
«RESULT_FIELDS» «MsLink Cve_Mz Cve_Pred prop Area Perimeter VALUE"
END
DATA PALENQUE_SECTOR01
TEMPLATE "ttt_query.html"
TOLERANCE 5
#TOLERANCEUNITS PIXELS
ЛАБЕЛИТ «ВАЛОР»
КЛАССИТЕМ "ВАЛОР"
LABELCACHE ON
ЗАНЯТИЕ
SYMBOL 1
ЦВЕТ 128 128 128
OUTLINECOLOR 0 0 0
НАЗВАНИЕ "ZonaNULL"
EXPRESSION ([VALUE] = 0)
LABEL
УГОЛ АВТО
ЦВЕТ 0 0 0
FONT sans
ТИП ТРУДА
ПОЗИЦИЯ cc
PARTIALS FALSE
BUFFER 5
РАЗМЕР 6
OUTLINECOLOR 200 200 200
END
END #class Значение 0
ЗАНЯТИЕ
SYMBOL 3
ЦВЕТ 255 128 128
#COLOR -1 -1 -1 #SIN FILLING
.... и поэтому, чтобы закрыть
END
END # Класс Значение
END # Layer
В заключение
Следовательно, работа с mapserver, хотя это довольно просто, становится сложной и очень ограниченной для больших заданий, потому что все находится в .map. Самым большим недостатком является то, что все делается пешком, например, определение каждого цвета в тематике, и по этой причине возникают такие инструменты, как CartoWeb, который работает на Mapserver, но содержит встроенные плагины и примеры с характеристиками, которые делают эту примитивную версию похожей на в первый раз:
- Работайте отдельные кадры с помощью AJAX, чтобы обновить их отдельно
- Разбирайте код, если скрипт перезаписывает .map на основе параметризуемых критериев
- Динамическая обратная прокрутка без обновления, как если бы это был слой вспышки
- Онлайн-векторное редактирование, немедленная запись в кеш
- Загрузить слой в векторной форме
- Экспорт в Google Планета Земля
- Создание PDF из развертывания
Далее мы рассмотрим CartoWeb, здесь я оставлю ссылку на основные примеры.
Есть способ получить стандартный вывод шаблона phtml, спасибо
Привет,
Я пытаюсь вызывать слой из .map следующим образом:
СЛОЙ
ИМЯ test_houses
ТИП ТОЧКА
CONNECTIONTYPE OGR
СОЕДИНЕНИЕ #"virtual.ovf"
ххххх
ИСПОЛНИТЕЛЬ…….
eess_id
wkbPoint
WGS84
Моя проблема в том, что служба DSN вызывает проблемы: при запросе GetCapabilities она возвращает пароль базы данных... могу ли я сделать вызов в файл, чтобы избежать «выдачи» пароля, или это ошибка DSN???? Спасибо!
MapServer - популярный проект с открытым исходным кодом, целью которого является отображение динамических пространственных карт через Интернет. Установленный диск - это диск, который отображается в пустую папку на томе, который использует файловую систему NTFS. Монтируемые диски функционируют как любые другие диски, но им назначаются пути дисков вместо букв дисков.