Использование REST API ГеоМиксер

 

Аутентификация

На данный момент для доступа к закрытым пользовательским данным и выполнения ряда операций запросы должны содержать API-ключ. Важно, чтобы он оставался секретным. Получить ключ можно, зарегистрировавшись на my.kosmosnimki.ru

 

Осуществление вызовов

Вызовы осуществляются посредством HTTP-запросов, различия между POST и GET запросами на данный момент нет. Методы PUT и DELETE не поддерживаются. Параметры могут быть переданы как в URL, так и в теле POST-запроса. Названия параметров не зависят от регистра. Результат выполнения операции содержится в коде состояния HTTP. Перечень возможных кодов приведен в таблице ниже. Если результат содержит данные, то они возвращаются в теле запроса в указанном формате. На данный момент поддерживаются формат GeoJson (по умолчанию) и внутренний формат GeoMixer.

Коды результатов ответа

В REST API используются следующие коды HTTP в качестве результатов:

 

Код результата

Когда используется

200 OK

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

204 No content

Возвращается в случае успешно выполненной операции, когда результат не предусмотрен. Например, в случае удаления слоя.

400 Bad Request

Возвращается в случае, если в запросе содержится ошибка, например, неправильно задан один из параметров.

403 Forbidden

Возвращается в случае неавторизованного доступа (когда для доступа необходим API-ключ, но он не указан либо указан неправильный ключ).

404 Not Found

Возвращается в случае, если не найден какой-либо объект, участвующий в запросе, например, слой.

500 Internal Server Error

Возвращается в случае ошибки, произошедшей при работе сервера.

501 Not Implemented

Возвращается в случае, если запрошенная операция не реализована.

Работа со слоями

 

Здесь и далее, layer_id обозначает 16-ти символьный идентификатор слоя. Параметры, помечаемые символом “*”, являются обязательными.

 

URL:

Ссылка

/rest/ver1/layers/layer_id/search

 

Параметры запроса:

Параметр

Тип

Описание

api_key

String

API-ключ пользователя

query

String

Запрос, задающий критерии поиска

columns

String

Названия столбцов атрибутов, включаемых в результат; указываются через запятую

orderby

String

Название столбца для сортировки результата

orderdirection

String

Порядок сортировки; возможные значения: asc, desc

skiprecords

Integer

Количество пропускаемых объектов в результате

limitrecords

Integer

Максимальное количество объектов в результате; в любом случае сервер вернет не более 1000 объектов

out_cs

String

Формат выходной системы координат, возможные значения: EPSG:4326 (по умолчанию), EPSG:3395

border

String

Геометрия в формате GeoJson или WKT, ограничивающая область поиска

borderFromLayer (borderID)

String

передача границы border по ссылке. Перекрывает параметр border. Указывает слой из которого следует использовать геометрию. BorderFromLayer – идентификатор слоя. Если слой растровый, то используется граница растрового слоя, если слой векторный, требуется указать BorderId – идентификатор объекта в векторном слое, тогда будет использоваться граница этого объекта. Для каталогов растров можно использовать значение BorderFromLayer=GMX_RasterCatalogID или BorderFromLayer=ID_каталога&BorderId=ID_объекта_в_каталоге

border_cs

String

Формат входной системы координат параметра border, возможные значения: EPSG:4326 (по умолчанию), EPSG:3395

count

String

Возможные значения: true/false (по умолчанию) определяют, что вернет запрос: только количество объектов в выборке (true) или же сами объекты (false).

 

Данные о пожарах

 

На данный момент существует два источника данных:

  • пожары СКАНЭКС (Россия)

  • пожары FIRMS (глобальные)

 

На основе обоих источников формируются два типа слоев:

  • термоточки пожаров (все термоточки за указанный период и время)

  • кластеры пожаров (сгруппированные термоточки по дням и за выбранный период)

 

Ниже приведены примеры запросов и ID для всех типов слоев:

 

Пожары СКАНЭКС

 

Пример запроса за термоточками:

http://maps.kosmosnimki.ru/rest/ver1/layers/F2840D287CD943C4B1122882C5B92565/search?query=%22DateTime%22%3E=%272014-11-07%27%20%20and%20%22DateTime%22%3C%272014-11-08%27%20&api_key=L5VW1QBBHJ

 

Параметры ответа сервера:

 

“HotSpotID”,”Sample”,”DataSource” – являются служебными параметрами в системе Kosmosnimki

 

“Platform”

String

спутник Terra / Aqua / NPP

“Confidence”

integer

на основе относительной яркости термоточки, значения 0-100

“Power”

float

на основе абсолютной яркости термоточки (не рассчитывается для NPP!)

“DateTime”

datetime

Unix timestamp / yyyy-mm-dd hh:mm:ss

“ClusterID”

ID кластера, которому принадлежит термоточка

“FireType”

integer

null

Битовая маска признаков со следующими свойствами:

* бит 0 – признак техногенного источника

* бит 1 – признак пожара на торфянниках

* бит 2 – признак пожара вблизи города

Варианты:

* 1 (001) – техногенный источник

* 2 (010) – пожар на торфяннике

* 3 (011) – техногенный пожар на торфяннике

* 4 (100) – пожар вблизи города

* 5 (101) – техногенный источник вблизи города

* 6 (110) – источник на торфяннике вблизи города

* 7 (111) – техногенный источник на торфяннике вблизи города

“Town”

string

Название населенного пункта в радиусе < 5км

“geomixergeojson”

geometry

Координаты термоточки (Mercator / Lat, Lon)

Пример запроса за кластерами* пожаров:

http://maps.kosmosnimki.ru/rest/ver1/layers/E58063D97D534BB4BBDFF07FE5CB17F2/search?query=%22DateTime%22%3E=%272014-11-07%27%20%20and%20%22DateTime%22%3C%272014-11-08%27%20&api_key=L5VW1QBBHJ

 

*С помощью кластеризации выделены наиболее крупные очаги, которые наиболее вероятно являются пожарами. Заодно уменьшается кол-во объектов, которые надо отрисовывать на карте.

 

Пожары FIRMS

 

Если мы захотим показывать еще и глобальные пожары по всему миру – нужно будет просто добавить еще один запрос и поменять ID слоя. Но сейчас этот слой отстает по оперативности.

 

Пример запроса за термоточками

 

http://maps.kosmosnimki.ru/rest/ver1/layers/3E88643A8AC94AFAB4FD44941220B1CE/search?query=%22Timestamp%22%3E=%272014-11-07%27%20%20and%20%22Timestamp%22%3C%272014-11-08%27%20&api_key=L5VW1QBBHJ

 

Пример запроса за кластерами

 

http://maps.kosmosnimki.ru/rest/ver1/layers/3E88643A8AC94AFAB4FD44941220B1CE/search?query=%22ClusterDate%22%3E=%272014-11-07%27%20%20and%20%22ClusterDate%22%3C%272014-11-08%27%20&api_key=L5VW1QBBHJ

 

Из-за того что данные немного разные – из-за оперативности получения данных и настроек параметров обработки – логично показывать два разных слоя, как сделано на fires.kosmosnimki.ru

(Пожары СКАНЭКС / Пожары FIRMS)

Либо показывать только один слой.

 

В запросах API поддерживаются операторы сравнения >  >=  <>  =  <  <=

Так что можно показывать в режиме “прошедшие + текущие сутки”

http://maps.kosmosnimki.ru/VectorLayer/Search.ashx?layer=F2840D287CD943C4B1122882C5B92565&geometry=true&query=“DateTime”>=’13.04.2014′&”DateTime”<=’14.04.2014′

Пример использования

Пример запроса с слою пожаров в границе Приморского края (указывается слой границы из базы GeoMixer) за 07.11.2014, с возвращением координат Меркатора.
В примере запроса используется тестовый API-ключ, который может поменяться. Используйте собственный ключ

http://maps.kosmosnimki.ru/rest/ver1/layers/F2840D287CD943C4B1122882C5B92565/search?query=”DateTime”>=’2014-11-07’and”DateTime”=’2014-11-08’&BorderFromLayer=78E56184F48149DF8A39BA81CA25A01E&BorderID=1&api_key=L5VW1QBBHJ&out_cs=EPSG:3395

 

primorie_geos.png

 

Условия использования

Условием бесплатного использования API является:

В случае если вы реализуете коммерческий проект или хотите заказать тех поддержку / дополнительные сервисы, ознакомьтесь с коммерческим предложением

 

Виджеты карты пожаров

См: Плагины >>> Плагин “Виджет пожаров”