суббота, 16 июня 2007 г.

Mapserver: быстрый старт (перевод)

Быстрый старт
Документ рассказывает о компонентах картографического сервера и их совместной работе.
Последнее обновление: 13/11/2004

Элементы картографического сервера

Самый простой путь использования картографического сервера заключается в его запуске как CGI приложения через ваш HTTP сервер. Этот путь рекомендуется использовать в случае, когда вы не нуждаетесь в более сложном приложении на основе MapScript, которое будет напрямую использовать MapServer API.

Картографическое CGI приложение использует следующие ресурсы:

  1. HTTP сервер, например, Apache или Internet Information Server,

  2. Приложение MapServer,

  3. Файл инициализации, в котором хранятся настройки приложения MapServer для первого запуска (опционально),

  4. Файл проекта (Mapfile), в котором содержится информация о данных,

  5. Файл шаблона, в котором настраивается пользовательский интерфейс приложения для работы через браузер клиента,

  6. База пространственных данных (GIS dataset).


Рекомендуется установка MapServer в CGI-BIN директории HTTP сервера и размещение прочих файлов в каталоге документов сервера (http document directory).

Файл инициализации

Этот файл может быть частью другого HTML файла, однако в самом простом случае он может быть отдельным файлом. Файл инициализации использует форму для отправки запроса инициализации к HTTP серверу, который возвращает результат работы картографического сервера. Картографический сервер в этом случае запускается отдельно для каждого выполняемого запроса без сохранения информации о состоянии, вследствии чего необходимо сохранение значений инициализированных переменных в скрытых параметрах запроса. Вышеозначенный файл является стандартным HTML файлом с расширением .htm или .html. В качестве альтернативного варианта может использоваться гипертекстовая ссылка, передающая параметры инициализации CGI приложения.

Файл проекта (Mapfile)

Файл проекта определяет данные, которые будут использованы приложением, настройки внешнего вида карты и параметры выполнения запросов. Также содержит информацию о том, как будет отрисовываться карта, легенда, и как будут представлены результаты поиска.Обычно файл имеет расширение.MAP.

Файл шаблона

Файл шаблона контролирует представление карты и легенды на HTML странице и строится как обычный HTML файл, исключая некоторые специальные поля, предназначенные для обработки непосредственно картографическим сервером. Файл шаблона позволяет разработчику разместить карту и легенду на странице, а также определить инструменты управления для пользователя (например, просмотр, масштабирование, перемещение, поиск и прочие). Картографический сервер обрабатывает специальные конструкции в файле шаблона, заменяя их информацией о выполненном запросе, после чего пересылает полученный документ пользователю. Поскольку файл шаблона используется для создания HTML файла, он обычно сохраняется с расширением .HTML.

База пространственных данных (GIS Dataset)

В качестве формата векторных файлов по умолчанию выбран формат ESRI шейпфайла. Растровые данные могут храниться в различных форматах, набор которых зависит от параметров компиляции приложения. По умолчанию, поддерживаются geoTiff файлы и Tiff файлы с привязкой. Другие форматы данных могут быть использованы, если изменить настройки компиляции приложения. Размещение файлов данных описывается в файле проекта. Картографический сервер также содержит утилиты для оптимизации шейпфайлов (shptree, sortshp).

Установка

В первую очередь необходимо установить картографический сервер. Для установки вы должны обладать необходимыми разрешениями на вашем сервере, в ином случае обратитесь к вашему системному администратору. В системах Windows вы можете воспользоваться уже готовым скомпилированным приложением. Аналогично, в Linux-системах вы можете установить соответствующий пакет. Предварительно скомпилированные версии доступны для следующих операционных систем:

  • Windows

  • UNIX/Linux

  • Cygwin на Win32



Тестирование

После того, как вы установите картсервер, вы готовы к созданию вашего первого картографического приложения. Рекомендуем вам использовать MapServer Demo Application для проверки установленного сервера. Файл проекта (Mapfile) и файл шаблона (Template file) это простые ASCII текстовые файлы, которые вы можете редактировать в вашем любимом текстовом редакторе (например, notepad или wordpad в системах Windows). Файл инициализации это простой HTML файл, который вы можете редактировать в вашем любимом HTML редакторе.

Первое приложение

Набор MapServer Demo поможет вам настроить ваш сервер и ближе познакомиться с файлами проекта и шаблона.

10 комментариев:

Андрей комментирует...

Быстрый старт не получился.
Не знаю как установить картографический сервер.

Печников Алексей комментирует...

Для debian вот так:

aptitude install cgi-mapserver mapserver-bin mapserver-doc

Под винду также есть бинари в инете.

Анонимный комментирует...

Алексей, есть ли лицензионные карты в России, которые можно использовать на существующих картографических web серверах(типа mapserver)?

Анонимный комментирует...

Подскажите, в каком случае нужно платить за использования карт Google. Если поставил Maplet на коммерческий (не частный)сайт для привлечения внимания к сайту, чтобы пользователи могли оставлять там свои KLM, треки GPS, точки, пометки, то уже надо платить или нет?

Печников Алексей комментирует...

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

Печников Алексей комментирует...

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

Андрей комментирует...

Нашел сервис, не могу понять на чем карты работают(это гугл или нет). По этой ссылке карту не видно, но видно код. Можно зарегестрироваться, тогда видно карту.
http://panel.car-online.ru/location/enter.jsp?R=119252345.
И все таки у кого есть хоть какие нибубь легальные карты?
И насчет того что ты написал про бесплатный гугл и локальный сервер, где можно почитать поподробнее, не подскажешь. Спасибо.

Печников Алексей комментирует...

В лицензионном соглашении от гугла все написано, когда и как можно пользоваться их картами. Даже базовая цена за локальный картсервер указана (не в соглашении, разумеется, но найти можно).

С легальными картами все плохо - те, что есть, такого качества, что оторопь берет. Это если по регионам. Так что остаются сканы или космоснимки, для навигации - только космоснимки.

Ivan комментирует...

Да, мне тоже непонятно на чем карта сделана на http://panel.car-online.ru, можешь войти как Ivan4 http://panel.car-online.ru пароль ivanivan

Печников Алексей комментирует...

Судя по пункту меню "Google Карта" работает с картой гугл. У меня карта не показывается ни в конкуероре, ни в файрфоксе, сайт сделан явно криво. Наверно, работает только в виндовом интернет эксплорере, который можно, конечно, запустить под эмулятором, но мне в этом нет интереса.


(C) Alexey Pechnikov aka MBG, mobigroup.ru