Найти в Дзене
DIGGeo

Обработка космоснимков онлайн без скачивания – решения от NextGIS

NextGIS даёт возможность использовать автоматизированные онлайн-инструменты, которые избавляют Premium-пользователей от необходимости вручную выполнять сложные расчёты. У этих инструментов простой и интуитивный интерфейс и чтобы их использовать нужно лишь правильно подготовить исходные данные и знать запросы для их запуска. В статье мы рассмотрим несколько таких инструментов, касающихся работы с космоснимками: Для работы с первыми тремя инструментами не нужно скачивать сотни мегабайт космоснимков, всё делается онлайн. Извлечение высот Если проводить эту операцию в ручном режиме, сначала нужно будет скачать SRTM-снимок нужной территории. Но с помощью онлайн-инструмента от NextGIS можно миновать этот этап и другие технические действия. Подготовка данных У нас есть слой с точками и нам нужно определить, на какой высоте над уровнем моря они находятся. В QGIS я нанёс точки четырёх вершин Крымских гор. Благодаря подложке OSM, мы заранее знаем их высоты: Но перепроверим их с помощью онлайн-ин
Оглавление

NextGIS даёт возможность использовать автоматизированные онлайн-инструменты, которые избавляют Premium-пользователей от необходимости вручную выполнять сложные расчёты. У этих инструментов простой и интуитивный интерфейс и чтобы их использовать нужно лишь правильно подготовить исходные данные и знать запросы для их запуска. В статье мы рассмотрим несколько таких инструментов, касающихся работы с космоснимками:

  • получение данных о высотах точек;
  • обрезка спутниковых снимков по векторной маске онлайн – получение космоснимка по конкретному контуру;
  • привязка космоснимков к веб ГИС без скачивания их на компьютер;
  • онлайн-калькулятор растров.

Для работы с первыми тремя инструментами не нужно скачивать сотни мегабайт космоснимков, всё делается онлайн.

Извлечение высот

Если проводить эту операцию в ручном режиме, сначала нужно будет скачать SRTM-снимок нужной территории. Но с помощью онлайн-инструмента от NextGIS можно миновать этот этап и другие технические действия.

Подготовка данных

У нас есть слой с точками и нам нужно определить, на какой высоте над уровнем моря они находятся. В QGIS я нанёс точки четырёх вершин Крымских гор. Благодаря подложке OSM, мы заранее знаем их высоты:

  • Демерджи – 1359 метров;
  • Чатыр-Даг (Эклизи-Бурун) – 1527 метров;
  • Роман-Кош – 1545 метров;
  • Ай-Петри – 1200 метров.

Но перепроверим их с помощью онлайн-инструмента извлечения высот.

-2

Слой с точками, высоты которых мы будем определять, надо сохранить в географической системе координат WGS 84 (4326), чтобы координаты точек указывались в градусах, а не в метрах.

Теперь привяжем координаты к точкам, для этого нужно в QGIS пересохранить точечный слой в CSV-формате:

  1. Жмём на точечный слой правой кнопкой мыши, находим «Экспорт», затем «Сохранить объекты как...».
  2. В открывшемся окне выбираем формат CSV – разделители запятые. Выбираем путь сохранения и имя слоя, проекция остаётся та же – WGS 84.
  3. Прокручиваем окно вниз и там во вкладке «Дополнительные параметры» будет два поля. В поле «Слой» вводим выражение GEOMETRY=AS_XY оно рассчитает координаты.
  4. Оставляем галочку «Добавить слой в проект», жмём ОК.
-3

Открываем таблицу атрибутов нового слоя для проверки.

-4

Появились два поля: X – долгота и Y – широта. Поле field_4 не понадобится, его можно удалить.

Чтобы NextGIS смог без ошибок рассчитать высоту точек, нужно чтобы все названия столбцов в таблице атрибутов были на латинице, а разделителем целой и дробной части в градусах была точка. В нашем случае оба условия выполнены.

Закрываем QGIS и архивируем CSV-слой в ZIP-формате. Открываем онлайн-инструмент для извлечения высот от NextGIS. Загружаем архив, в полях с широтой и долготой указываем названия соответствующих столбцов из таблицы атрибутов CSV-слоя, то есть Y и X.

В поле с названием цифровой модели надо ввести один из трёх вариантов gmted, gebco или alos.

  • у gmted разрешение 7.5 угловых секунд (≈ 250 метров);
  • у gebco – 15 угловых секунд (≈ 500 метров);
  • у alos – 30 метров.

Вписываем alos и запускаем.

-5

На выходе получаем elevation.zip с CSV-слоем, в котором отражены высоты. Запускаем QGIS и открываем слой, выбираем «Добавить слой из текста с разделителями...». Изначально слой может отображаться некорректно.

-6

Чтобы это исправить, нужно:

  • изменить кодировку: для чтения кириллицы подойдёт UTF-8;
  • во вкладке «Формат файла» поставить «CSV (значения, разделённые запятой)»;
  • в формате геометрии можно оставить «только атрибуты».

Сравним извлечённые высоты с официальными данными.

  • Демерджи – 1357 метров (погрешность −2 метра);
  • Чатыр-Даг – 1521 метр (−6 метров);
  • Роман-Кош – 1542 метра (−3 метра);
  • Ай-Петри – 1198 метров (−2 метра).

Средняя погрешность составила −3,3 метра. Это достаточно мало с учётом заявленного разрешения цифровой модели alos и возможной погрешности при нанесении точки на карту.

Привязка таблицы с высотами к точкам

Теперь у нас в проекте два слоя – точечный без высот и табличный с высотами. Надо их связать. Заходим в свойства точечного слоя, переходим во вкладку «Связи» и в открывшемся окне внизу жмём на зелёный плюс.

-7

В поле «Связанный слой» указываем табличный слой. Связываемое и целевое поле – это столбцы атрибутов в точечном и табличном слое, по которым будет происходить объединение. То есть содержание этих столбцов в обоих слоях должно быть одинаковым. В нашем случае это столбцы name.

Ставим галочку «Присоединённые поля» и выбираем те поля из табличного слоя, которые мы хотим присоединить к точечному. Это alos_elev (высоты) и поля с координатами – X и Y. Второе поле name нам не нужно, его не выделяем, cat тоже не нужен. Жмём OK, применяем. Теперь в таблице атрибутов точечного слоя появились данные о высотах.

-8

Чтобы не зависеть от связи с таблицей, пересохраняем точечный слой. Новый слой будет содержать данные о высотах и координаты без связи с таблицей.

Обрезка спутникового снимка по векторной маске

Этот инструмент позволяет, не скачивая космоснимок на компьютер, обрезать его по векторному слою. У вас должен быть только этот векторный слой и аккаунт на сайте геологической службы США. Но сначала разберёмся с векторной маской. Возьмём за основу Крымские горы. Добавляем векторный слой в NextGIS QGIS.

-9

При необходимости очищаем слой от дырок, чтобы он был сплошным и пересохраняем в формате SHP или GeoJSON. Закрываем NextGIS QGIS. Если слой сохранён в SHP, то архивируем файлы слоя в ZIP-архив. Если в GeoJSON, можно не архивировать. Переходим к космоснимкам.

Получение идентификатора космоснимка

После регистрации на сайте геологической службы США возвращаемся на страницу для поиска космоснимков и левой кнопкой мыши устанавливаем точки вокруг нужной области.

-10

В левой панели опускаемся в самый низ и во вкладке Data range задаём временной диапазон снимков в формате mm/dd/yyyy. Нам нужны снимки с мая 2020 года по сентябрь 2021. В поле Search months выберем период с мая по сентябрь – нам покажут снимки 2020 и 2021 годов только этих месяцев. Мы специально выбираем месяцы с наименьшей облачностью.

Переходим во вкладку Data sets. По выбранному периоду подойдут снимки Landsat 8. После выбора жмём Results.

-11

В открывшемся списке находим подходящий снимок и копируем его ID.

-12

ID снимков Sentinel берётся иначе, чем у Landsat. Там используется Vendor Product ID и берётся он из метаданных снимка. Подробнее в коротком видео.

У нас есть векторная маска и есть ID нужного снимка. Открываем инструмент NextGIS «Подготовка спутниковых данных и скачивание результата».

-13

В поле «Идентификатор сцены» вставляем ID снимка с сайта ГС США. Векторная маска – GeoJSON-слой или ZIP-архив с SHP-слоем маски.

Весь космоснимок содержит 11 каналов. Чтобы на выходе получилось изображения с натуральными цветами используем четвёртый (красный), третий (зелёный) и второй (синий) каналы. Прописываем их через запятую без пробелов 4,3,2. Жмём запустить, после завершения сохраняем result_file и открываем его в NextGIS QGIS.

-14

Загрузка космоснимка в веб ГИС

Этот инструмент точно такой же как и предыдущий, но он позволяет сразу выгрузить обработанный космоснимок в веб ГИС, не скачивая результат на компьютер. Используем ту же маску и тот же снимок и вносим данные в поля.

-15

В поле для указания родительского ресурса оставляем пишем пока 0, после выгрузки в веб ГИС мы сами подключим растр к веб-карте. Галочку напротив «Именование для NextGIS Лес» оставляем пустой, это отдельный вопрос. Запускаем инструмент, переходим в свою веб ГИС.

-16

Растровый слой снимка появился в корневой папке веб ГИС. Если на него нажать, можно посмотреть как он выглядит на подложке. Теперь надо сделать так, чтобы мы могли опубликовать этот космоснимок: отправить ссылку или встроить на сайт. В панели «Создать ресурс» справа выбираем веб-карту и пробегаем по основным настройкам.

Даём название карте, в следующей вкладке – описание
Даём название карте, в следующей вкладке – описание

Выбираем охват – то как будет выглядеть карта при открытии. Выбираем охват слоя снимка, потому что хотим на старте видеть нужную территорию, а не весь мир
Выбираем охват – то как будет выглядеть карта при открытии. Выбираем охват слоя снимка, потому что хотим на старте видеть нужную территорию, а не весь мир

Выбираем сам слой для отражения – загруженный космоснимок
Выбираем сам слой для отражения – загруженный космоснимок

После этого переходим в основную группу ресурсов, новая веб-карта будет уже доступна. Теперь можно открыть её и поделиться.

-20

Калькулятор растров

Это единственный из рассматриваемых в статье инструментов, где космоснимок придётся скачать на компьютер. Качаем с сайта ГС США тот же снимок, с которым работали в предыдущих инструментах. В архиве 11 каналов в формате TIF и дополнительные файлы. Из этих каналов нам нужен четвёртый (красный) и пятый (ближний инфракрасный) каналы. Будем считать NDVI – индекс, отражающий зелёную растительность территории.

-21

Для удобства переименуем эти два файла в red_b4 и nir_b5 соответственно. Архивируем их в ZIP-формате и открываем калькулятор растров от NextGIS. Загружаем архив, заполняем поля.

-22

Используем выражение (nir_b5.TIF - red_b4.TIF) / (nir_b5.TIF + red_b4.TIF)

Приставку .TIF в выражении прописываем большими буквами. В неархивированном файле это не заметно, но внутри архива имена файлов дополняется форматом. И формат этот приписывается большими буквами. Если в выражении прописать формат строчными буквами (.tif), то инструмент выдаст ошибку.

-23

Запускаем и ждём конца обработки, после этого скачиваем результирующий растр и открываем его через NextGIS QGIS.

-24

Значение −0.05 обозначает отсутствие всякой растительности, а 0.51 – уровень зелёной растительности выше среднего.

Читайте также: