Easy-Sat API — сервис для доступа к космическим изображениям и пространственным данным территорий для решения задач бизнеса, экологии и управления.


API для работы с данными дистанционного зондирования


API Easy-Sat


Вы можете интегрировать данные Easy-Sat с другими сервисами, геоинформационными системами (ГИС) и программным обеспечением, которые используете в работе. Например, чтобы получать доступ к изображениям проекта и информации о них.


Для подключения к API Easy-Sat понадобятся уникальный ключ и идентификатор проекта — их можно получить для вашего проекта в личном кабинете пользователя сервиса Easy-Sat (инструкция для получения уникального ключа и идентификатора проекта).


Доступные методы:



Страница с описанием API Easy-Sat:


Запрос:


https://easy-sat.ru/api/v3/

Получение списка изображений проекта (на бесплатном тарифе выдаются последние 20 изображений):


Формат запроса:


https://easy-sat.ru/api/v3/api_project_key&project_id

Параметр Описание
api_project_key Ключ проекта для доступа к API Easy-Sat. Уникальный для каждого проекта.
project_id Идентификатор проекта Easy-Sat. Уникальный для каждого проекта.

Пример запроса:


https://easy-sat.ru/api/v3/BD1nm2Mbh7Pepmfw8CdLnARngzqClSbqWDoHn9Niv4JlneL7im&ucaj2SKsLCk8B2ES0Kbu7SCt8xN2LWpeAWMMS9atPg4SEjk33q

Пример ответа (JSON):


{"601583": {"id": 601583, "lvl": "Level-1C", "radoim": null, "area_ha": 155490.763577551, "area_km": 1554.90763577551, "favorite": null, "geom_wkt": "POLYGON((50.075684 60.86765,50.587921 60.866981,50.590668 60.797374,50.245972 60.796704,50.245972 60.722914,50.586548 60.725601,50.587921 60.659723,50.252838 60.656359,50.265198 60.553228,50.977936 60.556604,50.972443 60.656359,50.675812 60.656359,50.670319 60.868987,51.135864 60.866981,51.134491 60.796704,50.802155 60.797374,50.799408 60.726944,51.131744 60.726944,51.139984 60.49241,50.100403 60.488351,50.075684 60.86765))", "sat_name": "Sentinel-2A", "tms_link": "https://easy-sat.ru/storage/rastr/601583/{z}/{x}/{-y}.png", "area_link": "YmopVq1GSwIqgpn3T2ygBQZXvq9nkWo8QGONQpZowRkjtAUOA0", "cloudless": 100, "geom_json": "{\"type\":\"Polygon\",\"coordinates\":[[[50.075684,60.86765],[50.587921,60.866981],[50.590668,60.797374],[50.245972,60.796704],[50.245972,60.722914],[50.586548,60.725601],[50.587921,60.659723],[50.252838,60.656359],[50.265198,60.553228],[50.977936,60.556604],[50.972443,60.656359],[50.675812,60.656359],[50.670319,60.868987],[51.135864,60.866981],[51.134491,60.796704],[50.802155,60.797374],[50.799408,60.726944],[51.131744,60.726944],[51.139984,60.49241],[50.100403,60.488351],[50.075684,60.86765]]]}", "display_id": "S2A_MSIL1C_20230315T075701_N0509_R035_T39VVH_20230315T085521", "order_link": "RxHkWanAQ5FZkKO7TH7iOt6zlVvkIXflPVtKvm9pg5AXp5Ivsr", "resolution": 10, "sensing_date": "2023-03-15T07:57:01.024+03:00"}, "615488": {"id": 615488, "lvl": "Level-1C", "radoim": null, "area_ha": 13032.6124833674, "area_km": 130.326124833674, "favorite": null, "geom_wkt": "POLYGON((50.0900125746483 60.6477861691201,50.075684 60.86765,50.2714162865751 60.8673943665731,50.2079660508259 60.7908222104658,50.092545147387 60.650887825953,50.0900125746483 60.6477861691201))", "sat_name": "Sentinel-2B", "tms_link": "https://easy-sat.ru/storage/rastr/615488/{z}/{x}/{-y}.png", "area_link": "YmopVq1GSwIqgpn3T2ygBQZXvq9nkWo8QGONQpZowRkjtAUOA0", "cloudless": 93.8086667635916, "geom_json": "{\"type\":\"Polygon\",\"coordinates\":[[[50.0900125746483,60.6477861691201],[50.075684,60.86765],[50.2714162865751,60.8673943665731],[50.2079660508259,60.7908222104658],[50.092545147387,60.650887825953],[50.0900125746483,60.6477861691201]]]}", "display_id": "S2B_MSIL1C_20230316T081659_N0509_R121_T39VVH_20230316T100332", "order_link": "RxHkWanAQ5FZkKO7TH7iOt6zlVvkIXflPVtKvm9pg5AXp5Ivsr", "resolution": 10, "sensing_date": "2023-03-16T08:16:59.024+03:00"}....

Результатом запроса является JSON строка со следующими ключами:


Название Тип Пример значений Описание
"id" int 601583 Идентификатор изображения
"lvl" str 1C,2A,T1,T2,RT Уровень обработки спутниковых данных
"radoim" str,json {\"contr_val\":\"100\",\"brigh_val\":\"271\",\"satur_val\":\"100\",\"opac_val\":\"100\"}
"contr_val" int 100 Контрастность изображения
"brigh_val" int 271 Освещенность изображения
"satur_val" int 100 Насыщенность изображения
"opac_val" int 100 Прозрачность изображения
Пользовательские настройки Прозрачность|Яркость|Контрастность|Насыщенность изображения из интерфейса пользователя сервиса Easy-Sat.
"area_ha" double 155490.763577551 Покрываемая изображением площадь в га
"area_km" double 1554.97635775 Покрываемая изображением площадь в км²
"favorite" bool null,true,false Является ли изображение "Избранным". Пользователь имеет возможность устаналивать статус "Избранное" для любых изображений в проекте Easy-Sat
"geom_wkt" str POLYGON((50.075684 60.86765,50.587921 60.866981,50.590668 60.797374,50.245972 60.796704,50.245972 60.722914,50.586548 60.725601,50.587921 60.659723,50.252838 60.656359,50.265198 60.553228,50.977936 60.556604,50.972443 60.656359,50.675812 60.656359,50.670319 60.868987,51.135864 60.866981,51.134491 60.796704,50.802155 60.797374,50.799408 60.726944,51.131744 60.726944,51.139984 60.49241,50.100403 60.488351,50.075684 60.86765)) Граница изображения в формате Well-Know-Text (WKT). Граница изображения ограничена границами проекта.
"sat_name" str Sentinel-2A,Sentinel-2B,Sentinel-2AB,Landsat 8, Landsat 9, Landsat 7 и др. Название спутника, космического аппарата с помощью которого получено изображение
"tms_link" str https://easy-sat.ru/storage/rastr/601583/{z}/{x}/{-y}.png Ссылка для подлкючения изображения во внешние приложения и сервисы. Ссылка в формате XYZ tiles. Как подключить изображение в Qgis?
"area_link" str YmopVq1GSwIqgpn3T2ygBQZXvq9nkWo8QGONQpZowRkjtAUOA0 Уникальный идентификатор проекта Easy-Sat
"cloudless" double 99.5445646 Процент облачности изобржаения
"geom_json" str,json {\"type\":\"Polygon\",\"coordinates\":[[[50.075684,60.86765],[50.587921,60.866981],[50.590668,60.797374],[50.245972,60.796704],[50.245972,60.722914],[50.586548,60.725601],[50.587921,60.659723],[50.252838,60.656359],[50.265198,60.553228],[50.977936,60.556604],[50.972443,60.656359],[50.675812,60.656359],[50.670319,60.868987],[51.135864,60.866981],[51.134491,60.796704],[50.802155,60.797374],[50.799408,60.726944],[51.131744,60.726944],[51.139984,60.49241],[50.100403,60.488351],[50.075684,60.86765]]]} Граница изображения в формате JavaScript Object Notation (JSON). Граница изображения ограничена границами проекта.
"display_id" str S2A_MSIL1C_20230315T075701_N0509_R035_T39VVH_20230315T085521 Уникальный идентификатор изображения поставщика данных (NASA, USGS, ESA)
"resolution" int 10,15,30 Разрешение изображения, м/пикс
"sensing_date" str "2023-03-15T07:57:01.024+03:00" Дата съемки изображения





Подключение изображений в QGIS


1. Запустите QGIS. Перейдите в меню "Слой" => "Добавить новый слой" => "Добавить XYZ-слой":


2. В появившемся окне "Источники данных|XYZ" нажимите кнопку "Создать":




3. В появившемся окне "Подключение XYZ" заполните поле "Имя" (произвольное название подключения), в параметрах соединения в поле "Адрес" укажите ссылку подключаемого изображения, полученную в интерфейсе пользователя сервиса Easy-Sat или с помощью Easy-Sat API (значение "tms_link" из таблицы). Установите значение "Макс. уровень отображения" = 14 (мы ограничиваем изображения zoom-level = 14). Нажмите "Ok"




4. Убедитесь, что в выпадающем меню выбора подключения выбран интересующее Вас подключение (для нашего пример это подключение Easy-Sat). Нажмите кнопку "Добавить"




5. Подключаемый слой отобразится в списке слоев и в рабочей области QGIS. Успехов!







Инструкция для получения уникального ключа и идентификатора проекта


1. Перейдите в личный кабинет пользователя Easy-sat. В списке проектов пользователя найдите кнопку "Доступ для внешних систем (API)". Обратите внимание на цвет кнопки: синий - доступ к API запрещен, оранжевый - доступ к API разрешен (для новых проектов доступ всегда запрещен и его необходимо включать вручную используя кнопку "Доступ для внешних систем (API)"). Нажмите кнопку "Доступ для внешних систем (API)";




2. Появится сообщение с текстовым полем. В текстовом поле будут казаны параметры доступа к данным проекта с помощью API. Скопируйте их;




3. Содержимым текстового поля являются значения api_project_key и project_id которые необходимо использовать при обращении к API Easy-Sat. Пример:


api_project_key = e0t9o8v7s6e5d8l7y5a3t4e3s2t1a
project_id = ucaj2SKsLCk8B2ES0Kbu7SCt8xN2LWpeAWMMS9atPg4SEjk33q
Подробнее о подключении данных во внешние системы на странице https://easy-sat.ru/api/v3


4. После включения доступа к данным проекта по API (после нажатия кнопки "Доступ для внешних систем (API)"), цвет кнопки "Доступ для внешних систем (API)" поменяется на оранжевый. Это означает, что вы можете использовать Easy-Sat API




5. Для отключения доступа к Easy-Sat API нажмите кнопку "Доступ для внешних систем (API)". Появится сообщение о том, что доступ к Easy-Sat API отключен









Подключение изображений с использованием библиотеки Leaflet.js


Воспользуйтесь примером ниже для подключения изображений из сервиса Easy-Sat в свое приложение:


var easy_sat_l = L.tileLayer(`https://easy-sat.ru/storage/rastr/601583/{z}/{x}/{-y}.png`, {
maxZoom: 14,
attribution: "Easy-sat.ru API",
});
map.addLayer (easy_sat_l)


Ссылка https://easy-sat.ru/storage/rastr/601583/{z}/{x}/{-y}.png является значением "tms_link" полученным в интерфейсе пользователя сервиса Easy-Sat или с помощью Easy-Sat API (значение "tms_link" из таблицы).