Наборы API
Геоинформационная система ORBISmap предоставляет сторонним разработчикам несколько инструментов для работы с системой, а также внедрения решений на базе ORBISmap в сторонние проекты - интерфейсы программирования приложений (API). В системе имеются 3 набора функций API: серверный (REST API), клиентский (JS API) и расширений (Extension API).
REST API
Набор серверных функций ORBISmap для разработчиков. Основным преимуществом серверных API-функций (REST API) является отсутствие привязки к какому-либо языку программирования, что значительно расширяет круг разработчиков, которые могут использовать систему REST API ORBISmap для решения поставленных задач в области web-картографии и построения ГИС-систем.
Система REST API в ORBISmap, работает по следующим принципам:
- Сервер API принимает GET, POST, PUT, PATCH и DELETE запросы. Доступ к API возможен через авторизацию с учетом прав доступа. Данные авторизации и права доступа соответствуют доступам в систему администрирования.
- Результат работы каждой функции API можно получить в формате JSON.
- API работают поверх протокола HTTPS, что обеспечивает безопасность передаваемых данных. Для обеспечения корректной работы протокола https необходимо в удостоверяющем центре приобрести сертификат, который будет использоваться для подписи зашифрованного контента.
- Набор функций REST API позволяет отправлять запросы и получать соответствующие данные из системы (по группам):
- аутентификация (вход, выход);
- работа с картой (создание, получение дерева слоёв, настройки публикации);
- работа со слоями (получение, создание, изменение);
- работа со структурой слоя (получение, изменение);
- работа с данными слоя (загрузка данных, выгрузка данных);
- работа с объектами слоя (получение списка объектов, получение конкретного объекта, получение геометрии объекта, изменение геометрии объекта);
- работа с файлами (добавление файла к объекту, удаление файла объекта);
- работа с изображениями;
- обработка ошибок.
JS API
Набор клиентских функций JS API работает по принципам объектно-ориентированной модели программирования, включающей наличие объектов, классов, методов, свойств объектов и наследование. Для увеличения производительности часть методов выполняется асинхронно, что позволяет обрабатывать (исполнять) одновременно несколько запросов, не дожидаясь ответа от сервера. Ключевые функции клиентского набора функций JS API:
- удобно и прозрачно получать информацию о слоях, содержащихся в опубликованных картах (список слоев, список объектов по конкретному слою, подробная информация по объекту слоя);
- быстро (используя минимум кода) отобразить опубликованную карту в соответствии с настроенной публикацией;
- управлять отображением картографических слоев созданной визуализации.
Extension API
Extensions API реализован через плагины, которые позволяют изменять поведение любого метода всех классов системы. С использованием плагинов возможно:
- используя предобработчик выполнить произвольный код перед требуемым методом.
- используя заменитель выполнить произвольный код вместо требуемого метода.
- используя постобработчик выполнить произвольный код после требуемого метода.