Создание WMS сервера на базе GRASS GIS и Pyramid: различия между версиями
(Новая страница: «В данной статье описывается простейший пример создания [http://gis-lab.info/qa/ows.html WMS сервера] на …») |
|||
Строка 4: | Строка 4: | ||
== Общие сведения == | == Общие сведения == | ||
Статья расчитана на читателя, который на базовом уровне знаком с геоинформационной системой GRASS и языком программирования Python. В частности, читатель должен представлять, [http://gis-lab.info/qa/grass-external-scripting.html как происходит вызов команд GRASS на языке Python]. | Статья расчитана на читателя, который на базовом уровне знаком с геоинформационной системой GRASS и языком программирования Python. В частности, читатель должен представлять, [http://gis-lab.info/qa/grass-external-scripting.html как происходит вызов команд GRASS на языке Python] и быть знакомым [http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/introduction.html с основами использования фреймворка Pyramid]. | ||
В статье испольуется GRASS версии 6.4 (тем не менее, изменения в приведенном коде для GRASS 7 должны быть минимальными). | |||
=== Архитектура системы === | |||
В основе WMS сервера будет лежать модуль [http://grass.osgeo.org/grass64/manuals/d.mon.html d.mon], отвечающий за отрисовку геоданных. При этом будет использоваться [http://grass.osgeo.org/grass64/manuals/cairodriver.html графический драйвер Cairo], который позволяет генерировать изображения в форматах PNG, BMP, PPM, PS, PDF и SVG. | |||
Для реализации сервера потребуется создать подсистемы, служащие для: | |||
# Настройки путей к GRASS. | |||
# Получения и анализа параметров запроса WMS. | |||
# Отрисовки слоев по запросу клиента и сохранения результата в графический файл. | |||
# Возвращения результата обработки запроса клиенту. | |||
Собственно к GRASS относятся первый и третий пункты, остальные --- обычные действия, которые реализуются при помощи Pyramid и с GRASS никак не связаны. Поэтому для простоты изложения и реализации объединим первый и третий пункты в виде одной функции. | |||
== Реализация == | == Реализация == | ||
== Ограничения данной реализации == | == Ограничения данной реализации == |
Версия от 11:39, 4 мая 2014
В данной статье описывается простейший пример создания WMS сервера на базе геоинформационной системы GRASS. Доступ к данным организован при помощи фреймворка Pyramid.
Данная статья является расширенным переводом с английского языка статьи GRASS GIS Web Map Service with Pyramid.
Общие сведения
Статья расчитана на читателя, который на базовом уровне знаком с геоинформационной системой GRASS и языком программирования Python. В частности, читатель должен представлять, как происходит вызов команд GRASS на языке Python и быть знакомым с основами использования фреймворка Pyramid.
В статье испольуется GRASS версии 6.4 (тем не менее, изменения в приведенном коде для GRASS 7 должны быть минимальными).
Архитектура системы
В основе WMS сервера будет лежать модуль d.mon, отвечающий за отрисовку геоданных. При этом будет использоваться графический драйвер Cairo, который позволяет генерировать изображения в форматах PNG, BMP, PPM, PS, PDF и SVG.
Для реализации сервера потребуется создать подсистемы, служащие для:
- Настройки путей к GRASS.
- Получения и анализа параметров запроса WMS.
- Отрисовки слоев по запросу клиента и сохранения результата в графический файл.
- Возвращения результата обработки запроса клиенту.
Собственно к GRASS относятся первый и третий пункты, остальные --- обычные действия, которые реализуются при помощи Pyramid и с GRASS никак не связаны. Поэтому для простоты изложения и реализации объединим первый и третий пункты в виде одной функции.