Интеграция со сторонними системами
WMS, WFS сервисы ORBISmap
Web Feature Service (WFS) - это открытая спецификация для предоставления географических объектов по сети.
Web Map Service (WMS) - стандартный протокол для обслуживания через Интернет географически привязанных изображений, генерируемых картографическим сервером на основе данных из БД.
При использовании сервиса WFS любое приложение, работающее с веб-сервисами, может получать доступ к географическим объектам из карты. В отличие от сервиса WMS, который возвращает изображение карты, сервис WFS возвращает фактические объекты с геометрией и атрибутами, которые клиенты могут использовать в любом типе геопространственного анализа.
WMS-сервис
После установки доступен по адресу <orbismap-url>/wms/admin
Для добавления слоев из ORBISmap в сервис WMS необходимо:
1) Авторизоваться в сервисе через меню сменить пользователя.
* Проект - имя проекта ORBISmap - отображается в левом верхнем углу Системы администрирования
2) Создать WMS-слой посредством меню "Добавить". Список карт и слоев автоматически выбирается из ORBISmap.
3) Использовать API для получения соответствующих данных.
После добавления слоев, можно получать wms-слои посредством API:
<orbismap-url>/wms/admin
:
- GET
/
- панель администратора; - GET
/api/layers/
- получение JSON-списка WMS-слоёв:- Опциональный GET-параметр
filter
- список (значения через запятую без пробелов) полей WMS-слоя, которые будут в ответе (например,name
); по умолчанию - все обязательные поля; - Опциональный GET-параметр
invalid
- флаг для фильтрации выдачи только невалидных слоёв:true
- только невалидные слои, любое другое значение - все слои; по умолчанию -false
.
- Опциональный GET-параметр
- PUT
/api/layers/
- изменение слоёв пачкой; требуется JSON - список слоёв WMS с обязательными полями. Все слои должны быть валидными. - POST
/api/layer
- создание WMS-слоя; требуется JSON - WMS-слой с обязательными полями. - GET
/api/layer/<имя_wms_слоя>/
- получение JSON c информацией о WMS-слое - все обязательные поля. - PUT
/api/layer/<имя_wms_слоя>/
- изменение одного WMS-слоя; требуется JSON с обязательными полями. - DELETE
/api/layer/<имя_wms_слоя>/
- удаление одного WMS-слоя. - PUT
/api/user/
- изменение данных о текущем пользователе, от имени которого будет производиться доступ к базе данных; требуется JSON - объект с полямиproject
- имя проекта ORBISmap,user
- имя пользователя,password
- пароль пользователя. - GET
/api/user/
- получение имени текущего пользователя. - DELETE
/api/configs/
- удаление всех конфигов: MapProxy, WMS-слои, данные о пользователе, все MapnikXML и кэш. - PATCH
/api/config/
- чистит MapnikXML с кэшем, обновляет конфиг. Все слои должны быть валидными. Служит для очистки кэша или для мягкого решения проблем с конфигом.
Важные особенности:
- Названия WMS-слоёв не должны повторяться.
- Название WMS-слоя может состоять только из латинских букв верхнего и нижнего регистров, цифр и знака нижнего подчёркивания.
- Карты у слоёв могут повторяться.
- Для сохранения WMS-слоя требуется хотя бы одна карта, хотя бы один слой у каждой карты и название.
- Добавить можно только векторные слои опубликованных карт.
- После изменения WMS-слоя его кэш будет очищен.
WFS-сервис
После установки доступен по адресу <orbismap-url>/wfs/admin
Для добавления слоев из ORBISmap в сервис WFS необходимо:
1) Авторизоваться в сервисе через меню сменить пользователя.
* Проект - имя проекта ORBISmap (отображается в левом верхнем углу Системы администрирования)
2) Создать WFS-слой посредством меню "Добавить". Список карт и слоев автоматически выбирается из ORBISmap.
3) Использовать API для получения соответствующих данных.
После добавления слоев, можно получать wfs-слои посредством API:
<orbismap-url>/wfs/admin
:
- GET
/
- панель администратора; - GET
/api/layers/
- получение JSON-списка WFS-слоёв:- Опциональный GET-параметр
filter
- список (значения через запятую без пробелов) полей WFS-слоя, которые будут в ответе (например,name
); по умолчанию - все обязательные поля; - Опциональный GET-параметр
invalid
- флаг для фильтрации выдачи только невалидных слоёв:true
- только невалидные слои, любое другое значение - все слои; по умолчанию -false
.
- Опциональный GET-параметр
- PUT
/api/layers/
- изменение слоёв пачкой; требуется JSON - список слоёв WFS с обязательными полями. ОСТОРОЖНО: все слои должны быть валидными! - POST
/api/layer
- создание WFS-слоя; требуется JSON - WFS-слой с обязательными полями. - GET
/api/layer/<имя_wfs_слоя>/
- получение JSON c информацией о WFS-слое - все обязательные поля. - PUT
/api/layer/<имя_wfs_слоя>/
- изменение одного WFS-слоя; требуется JSON с обязательными полями. - DELETE
/api/layer/<имя_wfs_слоя>/
- удаление одного WFS-слоя. - PUT
/api/user/
- изменение данных о текущем пользователе, от имени которого будет производиться доступ к базе данных; требуется JSON - объект с полямиproject
- имя проекта ORBISmap,user
- имя пользователя,password
- пароль пользователя. - GET
/api/user/
- получение имени текущего пользователя. - DELETE
/api/configs/
- удаление всех конфигов: TinyOWS и данные пользователя.
Важные особенности:
- Названия WFS-слоёв не должны повторяться.
- Название WFS-слоя может состоять только из латинских букв верхнего и нижнего регистров, цифр и знака нижнего подчёркивания.
- Карты у слоёв могут повторяться.
- Для сохранения WFS-слоя требуется хотя бы одна карта, хотя бы один слой у каждой карты и название.
- Добавить можно только векторные слои любых карт (и опубликованных, и неопубликованных).
Экспорт и импорт данных в СУБД ORBISmap
ORBISmap Server обеспечивает возможность интеграции со сторонними СУБД, посредством специально созданных скриптов. На текущий момент реализована поддержка экспорта/импорта по следующим схемам:
- ORBISmap Server → PostgreSQL (PostGIS).
- PostgreSQL (PostGIS) → ORBISmap Server.
- ORBISmap Server → MySQL (Spatial).
- MySQL (Spatial) → ORBISmap Server.
Скрипты поставляются в виде готовых пакетов для запуска переноса данных. Для запуска переноса данных необходимо в файлах настроек указать:
- Тип СУБД,
- Доступы к базе источнику,
- Доступы к базе реципиенту,
- Список таблиц для переноса,
- Схему,
- ID карты.
Пример конфигурационного файла для подключения к БД в формате JSON:
{
"oms_conn_config": {
"db_type": "postgresql",
"database": "db_name",
"db_schema": "db_schema",
"geometry_schema": "",
"user": "db_user",
"password": "db_pass",
"host": "db_host",
"port": "db_port"
},
"connected_conn_config": {
"db_type": "postgresql",
"database": "db_name_1",
"geometry_schema": "",
"user": "db_user_1",
"password": "db_pass_1",
"host": "db_host_1",
"port": "db_port_1"
}
}
Пример конфигурационного файла с параметрами копирования в формате JSON:
{
"direct": "to_oms",
"copied_tables": ["table_name"],
"source_schema": "b",
"receiver_schema": "b2"
}
Где:
direct
- направление переноса:to_oms
иfrom_oms
,copied_tables
- наименование таблиц для переноса,source_schema
- схема БД источника. В случае MySQL может буть пустым,receiver_schema
- схема БД реципиента. В случае MySQL может буть пустым.
Скачать файлы конфигурации.
После заполнения файла настроек можно запускать перенос данных. По результатам переноса таблицы из базы источника появятся в базе реципиента. В случае переноса данных в ORBISmap Server - в указанной в настройках карте появятся слои с названиями (кодом), соответствующими названиям (кодам) таблиц из базы источника.
Обмен данными с ГИС Карта 2011 (КБ Панорама)
Система ORBISmap Server обеспечивает возможность интеграции с российской системой ГИС Карта 2011 (КБ Панорама) через импорт файлов в следующих форматах:
- SXF (Storage and eXchange Format) — открытый формат цифровой информации о местности. Предназначен для применения в геоинформационных системах для хранения цифровой информации о местности, обмена данными между различными системами, создания цифровых и электронных карт и решения прикладных задач.
- KML - язык разметки на оcнове XML для представления пространственных геоданных, используемый в Google Earth и в Google Maps.
- SHP - векторный формат представления геоданных от компании ESRI, производителя гис-систем ArcMap, ArcView.
- GeoTIFF - открытый формат представления растровых данных в формате TIFF совместно с метаданными о географической привязке.
- MIF - открытый текстовый обменный формат для геоинформационных систем ГИС MapInfo.
- XLS - Microsoft Excel
Обратная интеграция из ORBISmap Server в ГИС Карта 2011 осуществляется через экспорт файлов в тех же форматах, что и импорт, за исключением формата SXF.
Подключение внешних картографических сервисов
На текущий момент ORBISmap Server поддерживает следующий список картографических сервисов, которые можно использовать в качестве подложки публичной карты:
- OpenStreetMap;
- Яндекс Схема;
- Яндекс Спутник;
- Яндекс Гибрид;
- Яндекс Народная карта;
- Google Карта;
- Google Спутник;
- Google Гибрид;
- Google Рельеф;
- Публичная Кадастровая карта.
При публикации карты имеется возможность добавить ссылку на любую карту, поддерживающую работу с тайлами в форматах XYZ или WMS.