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/RxHkWanAQ5FZkKO7TH7iOt6zlVvkIXflPVtKvm9pg5AXp5Ivsr&YmopVq1GSwIqgpn3T2ygBQZXvq9nkWo8QGONQpZowRkjtAUOA0
Пример ответа (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\"}
|
Пользовательские настройки Прозрачность|Яркость|Контрастность|Насыщенность изображения из интерфейса пользователя сервиса 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" из таблицы).