Оформить заказ Расширение EODAG Jupyterlab : eodag-labextension! Это обеспечит удобный пользовательский интерфейс на вашем ноутбуке и поможет вам искать и просматривать продукты EO с помощью eodag
.
EODAG (шлюз доступа к данным наблюдения Земли) — это инструмент командной строки и ориентированная на плагины платформа Python для поиска, агрегирования результатов и загрузки изображений дистанционного зондирования, предлагающая унифицированный API для доступа к данным независимо от поставщика данных. EODAG SDK построен вокруг трех функций:
Список типов продуктов: список поддерживаемых продуктов и их описание.
Поиск продуктов (по типу продукта или идентификатору): поиск продуктов в соответствии с предоставленными критериями поиска.
Загрузка продуктов: загрузка продукта «как есть»
EODAG разработан на Python. Он структурирован в соответствии с модульной архитектурой плагинов, легко расширяется и способен интегрировать новых поставщиков данных. В состав инструмента входят три типа плагинов:
Плагины поиска по каталогу, отвечающие за поиск данных (OpenSearch, CSW,...), построение путей, получение быстрого просмотра, объединение результатов
Загрузите плагины, позволяющие загружать и извлекать данные локально (через FTP, HTTP и т. д.), всегда с одной и той же организацией каталогов.
Плагины аутентификации, которые используются для аутентификации пользователя в используемых внешних сервисах (JSON Token, Basic Auth, OAUTH, ...).
Начиная с версии 2.0 EODAG можно запускать как клиент или сервер STAC.
Прочтите документацию для получения дополнительной информации.
EODAG доступен на PyPI:
python -m pip установить eodag
И с conda
с канала conda-forge:
установка conda -c conda-forge eodag
Важный
Критическое изменение в версии 3.0.0 : Обратите внимание, что EODAG поставляется с минимальным набором зависимостей. Если вам нужны дополнительные функции, установите одно из доступных дополнений.
Для загрузки вам необходимо будет указать свои учетные данные для нужных провайдеров в файле конфигурации пользователя eodag. Файл будет автоматически создан с пустыми значениями при первом запуске.
Пример использования для взаимодействия с API в вашем коде Python:
из eodag import EODataAccessGatewaydag = EODataAccessGateway()search_results = dag.search(productType='S2_MSI_L1C',geom={'lonmin': 1, 'latmin': 43.5, 'lonmax': 2, 'latmax': 44}, # принимает Полигоны WKT, shapely.geometry, ...start='2021-01-01',end='2021-01-15')product_paths = dag.download_all(search_results)
При этом будут выполнены поиск продуктов Sentinel 2 уровня 1C у поставщика по умолчанию и возвращена первая страница найденных продуктов и приблизительное общее количество продуктов, соответствующих критериям поиска. И затем он загрузит эти продукты. Более подробную информацию можно найти в Руководстве пользователя API Python.
Важный
Критическое изменение в версии 3.0.0 : метод search() теперь возвращает только один SearchResult
вместо кортежа из двух значений.
Экземпляр eodag можно открыть через STAC-совместимый REST API из командной строки (необходим eodag[server]
):
$ eodagserver-rest --help Использование: eodagserver-rest [ОПЦИИ] Запустить HTTP-сервер eodag Установите переменную среды EODAG_CORS_ALLOWED_ORIGINS для настройки кросс- Совместное использование ресурсов источника позволяло использовать URL-адреса, разделенные запятыми (например, «http://somewhere,htttp://somewhere.else»). Параметры: -f, --config PATH Путь к файлу конфигурации пользователя с его учетные данные, по умолчанию — ~/.config/eodag/eodag.yml -l, --locs PATH Путь к файлу конфигурации шейп-файлов. -d, --daemon запустить в режиме демона -w, --world запустить uvicorn, используя IPv4 0.0.0.0 (все сетевые интерфейсы), в противном случае привяжитесь к 127.0.0.1 (локальный хост). -p, --port INTEGER Порт для прослушивания [по умолчанию: 5000] --debug Запустить в режиме отладки (для целей разработки) --help Показать это сообщение и выйти.# run server$ eodag serve-rest# список доступных типов продуктов для провайдера ``peps``:$ curl "http://127.0.0.1:5000/collections?provider=peps" | jq ".collections[].id""S1_SAR_GRD""S1_SAR_OCN""S1_SAR_SLC""S2_MSI_L1C""S2_MSI_L2A"# поиск элементов$ curl "http://127.0.0.1:5000/search?collections=S2_MSI_L1C&bbox=0,43,1,44&datetime=2018-01-20/2018-01-25" | jq ".numberMatched"6# получить ссылку для скачивания $ curl "http://127.0.0.1:5000/collections/S2_MSI_L1C/items" | jq ".features[0].assets.downloadLink.href""http://127.0.0.1:5002/collections/S2_MSI_L1C/items/S2B_MSIL1C_20240917T115259_N0511_R137_T21CWS_20240917T145134/download"# скачать$ wget "http://127.0.0.1:5002/collections/S2_MSI_L1C/items/S2B_MSIL1C_20240917T115259_N0511_R137_T21CWS_20240917T145134/download"
eodag-server
доступен по адресу https://hub.docker.com/r/csspace/eodag-server:
docker run -p 5000:5000 --rm csspace/eodag-server:3.0.1
Вы также можете просматривать свой сервер API STAC с помощью браузера STAC. Просто запустите:
git клон https://github.com/CS-SI/eodag.gitcd eodag docker-compose up# или для более подробного ведения журнала: EODAG_LOGGING=3 docker-compose up
И перейдите по адресу http://127.0.0.1:5001:
Дополнительные сведения см. в разделе Использование STAC REST API.
Начните играть с CLI:
Для поиска некоторых продуктов:
eodag search --productType S2_MSI_L1C --box 1 43 2 44 --start 2021-03-01 --end 2021-03-31
Приведенный выше запрос выполняет поиск типов продуктов S2_MSI_L1C
в заданной ограничивающей рамке в марте 2021 г. Результаты сохраняются в файле GeoJSON (по умолчанию search_results.geojson
).
Результаты разбиты на страницы, вы можете получить все страницы сразу с помощью --all
или выполнить поиск продуктов, имеющих 20% максимального покрытия Coud, с помощью --cloudCover 20
. Для получения дополнительной информации о доступных опциях:
поиск eodag --help
Чтобы загрузить результат предыдущего вызова поиска:
eodag скачать --search-results search_results.geojson
Чтобы загрузить только результаты быстрого просмотра предыдущего вызова поиска:
eodag скачать --quicklooks --search-results search_results.geojson
Чтобы перечислить все доступные типы продуктов и поддерживаемых поставщиков:
список эодаг
Чтобы вывести список доступных типов продуктов у указанного поддерживаемого поставщика:
список eodag -p creodias
Чтобы просмотреть все доступные параметры и команды:
эодаг --помощь
Чтобы распечатать сообщения журнала, добавьте -v
к основной команде eodag. например eodag -v list
. Чем больше задано v
(до 3), тем более многословен инструмент. Для получения полного подробного вывода выполните, например: eodag -vvv list
Вы заметили опечатку в нашей документации? Вы заметили ошибку при запуске EODAG? У вас есть предложение по новой функции?
Не стесняйтесь и откройте проблему или отправьте запрос на включение, вклад приветствуется!
Рекомендации по настройке среды разработки и о том, как внести свой вклад в eodag, см. в рекомендациях по участию.
EODAG лицензируется по лицензии Apache v2.0. Подробности смотрите в файле ЛИЦЕНЗИИ.
EODAG была создана CS GROUP – Франция.
EODAG построен на основе удивительно полезных проектов с открытым исходным кодом. Подробную информацию об этих проектах и их лицензиях см. в файле NOTICE. Спасибо всем авторам этих проектов!