Outdated version of the documentation. Find the latest one here.

QGIS Server

QGIS Server это свободная реализация сервера WMS версии 1.3 и WFS версии 1.0.0, которая кроме того имеет дополнительные возможности для тематического картографирования. QGIS Server является написаным на С++ приложением FastCGI/CGI (Common Gateway Interface), которое работает совместно с веб-сервером (например, Apache или Lighttpd). Разработка сервера финансируется проектами Orchestra ЕС, Sany и администрацией города Устер (Швейцария).

Он использует QGIS для отрисовки карты и ГИС-логики. Графическая подсистема реализована при помощи библиотеки Qt, это же позволило получить кроссплатформенность. В отличие от других WMS-решений, QGIS Server использует картографические правила в SLD/SE и как язык конфигурирования сервера, и для описания пользовательских картографических правил.

Кроме того, проект QGIS Server предоставляет расширение «Publish to Web» для QGIS, при помощи которого можно экспортировать текущие слои и символику в проект для QGIS Server (включая правила отображения в формате SLD).

Так как QGIS и QGIS Server используют одни и те же библиотеки визуализации, карта, опубликованная в Интернет, выглядит точно так же, как и в настольной ГИС. Модуль «Publish to Web» поддерживает базовую символику, более сложные правила картографической визуализации задаются вручную. В качестве конфигурационных файлов используется стандарт SLD и его расширения, таким образом, необходимо знать только один стандартизированный язык, что значительно уменьшает сложность создания карт для Интернет.

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

Пример установки на Debian Squeeze

В этом разделе кратко описан процесс установки на Debian Squeeze. Бинарные сборки существуют и для многих других операционных систем. Если вы скомпилировали сервер WMS самостоятельно, обратитесь к ранее приведенным сайтам.

Кроме самой QGIS и сервера WMS нужен еще и web-сервер, в нашем случае apache2. Установить необходимые пакеты со всеми зависимостями можно при помощи aptitude или apt-get install. После установки необходимо убедиться, что и web-сервер, и сервер WMS работают правильно. Запустите web-сервер, выполнив команду /etc/init.d/apache2 start. Откройте браузер и введите адрес: http://localhost. Если apache запущен и работает правильно, в окне браузера отобразится текст «It works!».

Теперь можно перейти к проверке работоспособности сервера WMS. Исполняемый файл qgis_mapserv.fcgi расположенный в /usr/lib/cgi-bin/qgis_mapserv.fcgi является стандартным шаблоном WMS и отображает границы штатов США. Добавьте адрес http://localhost/cgi-bin/qgis_mapserv.fcgi к списку серверов WMS QGIS, как это описано в разделе Выбор WMS-серверов.

Figure Server 1:

../../../_images/standard_wms_usa.png

Standard WMS with USA boundaries included in the qgis server (KDE) nix

Создание WMS/WFS на основе проекта QGIS

Для создания нового сервера WMS/WFS нужно создать проект QGIS и добавить в него какие-то данные. В этом примере мы будем использовать shape-файл alaska.shp из демонстрационного набора данных QGIS. Загрузим shape-файл в проект, настроим цвета и стиль оформления слоя, а также зададим систему координат проекта.

Figure Server 2:

../../../_images/ows_server_definition.png

Definitions for a qgis project WMS/WFS server (KDE)

Затем вызовем из меню Установки ‣ Свойства проекта одноименное диалоговое окно и на вкладке Сервер WMS заполним поля «Характеристики сервера», «Достуные системы координат» и «Публикуемый охват». При необходимости можно установить флажок checkbox Включить WKT геометрию в ответ на GetFeatureInfo, что сделает возможным выполнение запросов к слою. В группе «Характеристики WFS» необходимо указать слои, которые будут доступны по протоколу WFS. Сохраним проект как alaska.qgs.Чтобы использовать сохраненный проект в качестве WMS/WFS, необходимо создать новый подкаталог в каталоге /usr/lib/cgi-bin/project (необходимы привелегии суперпользователя), поместить в него файл проекта alaska.qgs и копию файла qgis_mapserv.fcgi.

Теперь можно проверить работу сервера, добавив его адрес в список серверов WMS/WFS QGIS, как это описано в разделах Загрузка WMS-слоёв и Клиент WFS и WFS-T. Адрес сервера имеет вид:

http://localhost/cgi-bin/project/qgis_mapserv.fcgi