GIS-LAB

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

Глава 2: Пользовательский интерфейс и CGI-переменные

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

Шаблон HTML представляет собой файл HTML с набором специальных тегов - переменных CGI, обрабатываемых MapServer. В тексте шаблона они заключены в квадратные скобки "[]". При обработке Вашего приложения программа CGI в первую очередь анализирует строку запроса (URL) и map-файл, в результате чего формируется некоторый набор выходных данных. Необходимые данные в дальнейшем будут подставлены в файл шаблона вместо переменных CGI. Если в адресной строке браузера ввести непосредственно адрес шаблона, то в результате этих действий никаких карт Вы не получите, вместо этого браузер скорее всего отобразит пустую страницу.

MapServer предоставляет широкий набор переменных для web-картографирования. Примером такой переменной может служить переменная "img", которая была использована нами в шаблоне 9 раздела предыдущей главы. Стоит отметить, что любой параметр map-файла может быть определен с помощью переменных CGI, хотя последние изначально разрабатывались всего-лишь как часть картографического интерфейса. Полное описание всех переменных CGI можно найти по адресу http://www.mapserver.org/cgi/controls.html.

MapServer позволяет определять собственные переменные. Например, создадим переменную "root", содержащую в себе адрес корневой директории нашего руководства – "/docs/mapserver/tutorial5". Когда программа CGI будет обрабатывать наше приложение, она заменит все теги "[root]" в шаблоне на "/docs/mapserver/tutorial5". Вы увидите как это работает на практике в примерах данной главы.

Итак, переходим к созданию интерактивного интерфейса для нашего приложения.

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

Также ему необходимы инструменты работы со слоями.
Пример 2.2 - Инструменты работы со слоями

Карта должна содержать масштабную линейку.
Пример 2.3 - Добавление масштабной линейки

Если пользователь осуществляет навигацию по карте, то его нужно обеспечить обзорной картой.
Пример 2.4 - Добавление обзорной карты

Как и любая хорошая карта, наша карта должна содержать легенду.
Пример 2.5- Добавление легенды

Содержание | Глава 1 | Глава 3

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

Последнее обновление: February 27 2009