Руководство по итеративной разметке

Мы предлагаемт вам методику, которая поможет в десятки раз увеличить скорость картографической работы для учета и контроля с/х земель, тем самым позволит сосредоточиться на этапе внедрения и применении результатов для обеспечения различных потребностей конечного потребителя.

Все, что вам потребуется - это QGIS с устанговленным плагином Mapflow (для начала ознакомьтесь с данной страницей, здесь вы найдете всю информацию об установке, авторизации и функциональных возможностях плагина Mapflow).

Единственный минус такого картирования заключается в ошибках распознавания, связанных с не всегда хорошими данными спутниковой съемки, на которых могут быть области с облаками, тени от облаков, области no-data, и тд. См примеры:

Fields mask detected on a cloudy Sentinel-2 image

Маска полей, полученная по облачному изображению Sentinel-2

Sentinel-2 image with no-data to the AOI

Снимок Sentinel с «no-data» пикселями на указанную AOI

Именно поэтому следует с особой внимательностью относиться к выбору снимков и комбинировать результаты обработок сразу по нескольким. Мы рекомендуем отбирать 6-10 снимков на одну территорию порядка 100-1000 км2.

Процесс итеративной разметки

  1. Выберем снимки Sentinel-2 и запустим по ним обработки:

    • Для начала в среде QGIS откроем geojson-файл, содержащий нашу AOI (область интереса).

    • Откроем плагин Mapflow и перейдем на вкладку Источники данных, выберем в качестве провайдера спутниковых снимков Sentinel-2.

    • В параметрах Область выберем нашу AOI, укажем период, за который хотим получить снимки и отрегулируем дополнительные фильтры по пересечению снимков с нашей областью и облачному покрытию.

    • Нажмем кнопку Искать снимки. По завершению поиска, таблица заполнится перечнем снимков по нашей области. Выбираем один из снимков, предварительно просмотрев его (для этого двойным щелчком мыши нажимаем на строку или на кнопку Просмотр и наш снимок загрузится в рабочую область QGIS).

      Примечание

      Предварительный просмотр позволяет вам оценить и выбрать снимок, на котором области с облаками не перекрывают выбранную AOI и все пиксели на данную территорию несут в себе информацию. Но помните что это только превью исходного снимка (т.е. исходный снимок загрубленный в 30 раз). Обрабока же будет происходить по исходному снимку.

      Providers tab
  • Перейдем во вкладку Обработка.

  • Выберем и заполним все необходимые поля - Название обработки - например, “belgorod-2021-07-27”, Область (наша AOI), Модель “Fields (Sentinel-2 )», Данные ДЗЗ - “Sentinel-2” (важно, чтобы на вкладке Источники данных в таблице Каталог снимков был выбран нужный снимок).

  • Нажмем кнопку Начать обработку.

Processing tab

Данную последовательность действий следует провести с серией в 5-6 снимков на одну и ту же область.

  1. Создадим новый векторный слой с полигональной геометрией и назовем его result_markup. Данный слой будет содержать итоговый вариант картографической оцифровки сельскохозяйственных полей.

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

Creating the mutually exclusive group

  1. Ранжируйте визуально результаты обработок (для легкого доступа к лучшим результатам). Обычно требуется около десяти секунд, чтобы определить, является ли результат обработки хорошим или нет.

Rank_inference_result

  1. Выбираем первую лучшую обработку (открыт растровый и векторный слои). Переходим на векторный слой, к примеру “belgorod-2021-07-27”, выбираем все объекты (инструмент - Выделить объект(ы)) и копируем их (Скопировать объект(ы)). Переходим на слой result_markup и вставляем ранее скопированные объекты, инструментом Вставить объект(ы).

Copy fields mask into result layer

  1. В слое result_markup выбираем и удаляем неудачно оконтуренные полигоны. Теперь наш результирующий слой содержит пропуски, которые и нужно заполнить удачно оконтуренными полигонами, используя результаты ранее обработанных снимков Sentinel.

Find and delete bad field mask

  1. Выбираем следующий лучший результат обработки - “belgorod-2021-08-12”. Помещаем векторный слой поверх слоя result_markup. На местах с пропусками выбираем удачно оконтуренные полигоны из слоя belgorod-2021-08-12, копируем и вставляем в слой result_markup.

Find and past good field mask

Если после данного шага в слое result_markup остались пропуски, то повторяем пункт 7 до получения полностью оконтуренных сельскохозяйственных полей по выбранной AOI.

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

Result of itaretive mapping

Примечание

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