Создание простого ГИС-портала на OpenGeo

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Эта страница является черновиком статьи.


Создание простого ГИС-портала на OpenGeo


Этот материал задуман как методические указания по курсу "Географические и земельноинформационные системы" для специальностей Землеустройство и Кадастр.

OpenGeo Suite оффсайт - геоинформационный веб-фреймворк для посторения ГИС-порталов.
Состоит из следующего стека приложений (открытых):

  • PostgreSQL/PostGIS - СУБД с библиотекой расширения, позволяющей хранить и обрабатывать в БД пространственные типы данных (geometry, geography)оффсайт.
  • Geoserver - Геоинформационный веб-сервер. оффсайт
  • GeoWeb Cache - кэшировшик тайлов WMS необходимый для ускорения работы с часто используемыми данными. оффсайт
  • OpenLayers - JavaScript-библиотека для отображения геоинформационной информации. оффсайт
  • GeoExt - объединяет две JavaScript-библиотеки OpenLayers и ExtJS, для построения графического интерфейса пользователя в интернет браузере. оффсайт


OpenGeo Suite (далее ПО) объединяет в себе всё вышеперечисленное через удобный веб-интерфейс Dashboard, позволяющий запускать и настраивать каждый программный продукт, а так же содержит ссылки на документацию и примеры. Документации и примеры, наравне с популярностью входящих в ПО модулей, - сильная сторона этого проекта!
Более того, всё это собрано в один исталяционный пакет, который всё устанавливает и делает базовые настройки без участия пользователя. Инсталяторы есть для всех популярных операционных систем: Windows, Linux, MacOS X. Эта статья основана на версии ПО 3.0.1

Обзор задач

  1. Постановка задачи для ГИС портала и установка
  2. Работа с СУБД.
  3. Работа с Geoserver.
  4. Работа по созданию графического интерфейса пользователя на GeoExt.


1.Постановка задачи для ГИС портала и установка

В качестве учебной задачи, выбрана задача создания веб-карты содержащей данные (шейп-файл admin.shp) из Открытого набора геоданных Geosample. С точки зрения ГИС это полигональный слой с одним главным атрибутом - наименование региона РФ. Визуализация этих данных должна быть организована на основе этого атрибута.
Данные должны хранится в СУБД, редактироваться через настольную ГИС и отображаться на веб-портале. Так же на веб-портале нужно организовать просмотр атрибутов.
Рассматриваемый пример под MS Windows.
Для продолжения работы необходимо установить свободно-распространяемую версию Community. После того как инсталятор скачается необходимо запустить его и согласиться с его предложениями. После этого можно запустить Dashboard (Панель управления) из меню "Пуск".

Рис 1. Dashboard - Панель управления



Для запуска всех служб, обеспечивающих работу ПО, необходимо нажать на зелёную кнопку "Start" вверху Панели управления. После этого станут активны все ссылки для управления компонентами ПО.
Первое, что нужно сделать, создать хранилище данных и в нашем случае это база данных под управлением PostgreSQL.
PostgreSQL это СУБД - система управления базами данных, т.е. баз данных (БД), под управлением СУБД, может быть много. В нашем случае нужно создать свою собственную БД. БД создаются пользователями, в терминологии PostgreSQL ролями, которые имеют соответствующее право - право создавать БД. Изначально, при установке СУБД PostgreSQL автоматически создаётся пользователь postgres, который имеет права суперпользователя. Он имеет права делать всё, со всеми объектами которыми управляет СУБД. Принято, что для каждой БД должен быть создан пользователь (роль), который будет выступать в качестве владельца создаваемой БД.
Для этого нужно войти в приложение pgAdmin (Mange в Dashboard), подключиться к нашему локальному серверу (localhost) как пользователь postgres с паролем (если вы его не меняли) postgres. Далее выделить пункт, в дереве сервера, "Роли входа" и нажать правую клавишу мыши и выбрать "Новая роль...". Имя пользователя - student, пароль - student. Отметить привилегия роли как на Рис.2.

Рис 2. Создание новой роли входа в PostgreSQL



Далее, создадим БД с именем student, указав, в качестве владельца, только что созданную роль student. Параметры БД нужно указать аналогично Рис.3
Главное - использование шаблона "template_postgis". Он содержит всё необходимое для того чтобы использовать БД как пространственную БД, пригодную для хранения и обработки данных ГИС.

Рис 3. Создание новой базы данных в PostgreSQL




Теперь всё готово для загрузки пространственных данных в БД. Как было сказано выше, для примера используется набор данных Geosample. Он, помимо прочего, содержит шейп-файл (shape-file) "admin.shp" - это административно территориальное деление на территорию учебного набора Geosample. На приведённых в этой статье рисунках указана система координат EPSG:3857, а "admin.shp" по-умолчанию имеет систему координат EPSG:4326. Можно изменить систему координат "admin.shp" в любой настольной ГИС на EPSG:3857, для полной аналогии с этим примером, хотя это и не обязательно.
OpenGeo содержит инструмент импорта/экспорта шейп-файлов в БД - (Import shapefiles в Dashboard), которым следует воспользоваться, хотя подобные инструменты есть и другие, например как пагины для QGIS. В верхней части диалога инструмента Import shapefiles, содержится кнопка для указания параметров соединения с БД. Их необходимо заполнить как на Рис.4. Собственно, это уже известные параметры СУБД, параметры роли и имя базы.

Рис 4. Импорт шейп-файла. Настройки соединения



Рис 5. Импорт шейп-файла. Добавление файла и установка системы координат.



Рис 6. Импорт шейп-файла. Сообщения.



Рис 7. Панель управления Geoserver'а. Браузер Chrome.



Рис 8. Добавление нового Workspace.



Рис 9. Параметры нового Workspace.



Рис 10. Добавление нового Store.



Рис 11. Параметры нового Store.



Рис 12. Добавление нового Layer.



Рис 13. Параметры нового Layer.



Рис 14. Дополнительные параметры нового Layer.



Рис 15. Layer создан.



Рис 16. Предварительный просмотр.



Рис 17. Предварительный просмотр.



Рис 18. Создание WFS-подключения в QGIS.



Рис 19. Подключение к WFS в QGIS.



Рис 20. WFS-слой в QGIS и условная визуализация.



Рис 21. SLD-стиль из QGIS в Geoserver.



Рис 22. Назначения SLD-стиля слою в Geoserver.



Рис 23. Результат использования стиля.