Реализация алгоритма с помощью функций набора данных мозаики

Уровень сложности: Средний Требования к данным: ArcGIS.com

В данном примере рассказывается, как комбинировать функции в наборе данных мозаики для создания NDVI. Вообще доступна отдельная функция NDVI, однако ее применение вызывает масштабирование и сдвиг для визуализации.Если же вы хотите «сырые» значения NDVI, находящиеся в диапазоне от -1,0 до 1,0, вам нужно выполнить следующие инструкции.

Вы примените функцию ко всему набору данных мозаики, а не к отдельным растрам внутри него.

Формула для вычисления NDVI:

NDVI = ((IR - R)/(IR+R))
, где
IR = infrared band
R = red band

На вкладке Функция (Function) это будет выглядеть следующим образом.

Последовательность функций NDVI

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

  1. Определите входные данные канала: IR и R
  2. Вычтите одно из другого: IR - R
  3. Сложите их вместе: IR + R
  4. Разделите их: (IR - R) / (IR + R)

Установите набор данных мозаики

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

Шаги:
  1. Создайте набор данных мозаики.
  2. Добавьте растровые данные в набор данных мозаики.

    Убедитесь, что построены обзоры.

Последовательное применение арифметических функций

Шаги:
  1. Добавьте набор данных мозаики к отображению ArcMap.

    Вы можете добавить набор данных мозаики сейчас или в самом конце. Это нужно для просмотра результатов в слое Изображение (Image). Набор данных мозаики может уже быть открыт в ArcMap, если он был только что создан.

  2. Откройте окно Каталог (Catalog) Каталог и переместитесь к набору данных мозаики.
  3. Щёлкните правой кнопкой мыши набор данных мозаики и выберите Свойства (Properties).
  4. Щёлкните на вкладке Функции (Functions).

    Вы видите, что в последовательности функций сейчас находится только одна функция Мозаика (Mosaic). Она применяется по умолчанию, т.к. это набор данных мозаики и все растры составляются в мозаику. Это происходит после создания мозаики, которое будет применять ваш алгоритм.

    Функция мозаики по умолчанию

  5. Щёлкните правой кнопкой мыши Функция мозаики (Mosaic Function) и выберите Вставить (Insert) > Арифметическая функция (Arithmetic Function).

    При вставке функции, она вставляется над функцией, которую вы щёлкнули.

    Вставка арифметической функции

    Откроется диалоговое окно Свойства функций растра (Raster Functions Properties), которое позволяет устанавливать опции для этой функции.

  6. В ниспадающем списке Операция (Operation) выберите Разделить (Divide).

    Входные данные остаются неизменными. Входные данные добавляются в последовательность функций при закрытии этого диалогового окна.

  7. Щёлкните на вкладке Общие (General).
  8. Введите Разделить (Divide) в текстовом окне Имя функции (Function Name).
  9. В ниспадающем списке Выходной тип пикселов (Output Pixel Type) выберите 32-битовый с плавающей точкой (32 Bit Float).

    Выходные данные этого алгоритма - это значения в диапазоне от -1 до 1. Вам нужно задать тип пикселов; в противном случае, вы можете закончить со значениями пикселов, равными входным данным, такими как 8 бит.

  10. Нажмите кнопку ОК.

    Функция Разделить (Divide) добавляется наверх в последовательности функций, и добавляется другая функция Мозаика (Mosaic), т.к. для арифметической функции требуются 2 массива входных данных.

    Функция деления

  11. Щёлкните правой кнопкой Функция мозаики (Mosaic Function) в последовательности функций и выберите Вставить (Insert) > Арифметическая функция (Arithmetic Function).
  12. В ниспадающем списке Операция (Operation) выберите Минус (Minus).

    Входные данные остаются неизменными. Входные данные добавляются в последовательность функций при закрытии этого диалогового окна.

  13. Щёлкните на вкладке Общие (General).
  14. Введите Минус (Minus) в текстовом окне Имя функции (Function Name).
  15. В ниспадающем списке Выходной тип пикселов (Output Pixel Type) выберите 32-битовый с плавающей точкой (32 Bit Float).
  16. Нажмите кнопку ОК.

    Функция Минус (Minus) добавляется после функции Разделить (Divide), 2 массива входных данных добавляются под именем Функция мозаики (Mosaic Function).

    Функция Минус

  17. Щёлкните правой кнопкой внизу Функции мозаики (Mosaic Function) в последовательности функций и выберите Вставить (Insert) > Арифметическая функция (Arithmetic Function).
  18. В ниспадающем списке Операция (Operation) выберите Сложить (Plus).

    Входные данные остаются неизменными. Входные данные добавляются в последовательность функций при закрытии этого диалогового окна.

  19. Щёлкните на вкладке Общие (General).
  20. Введите Плюс (Plus) в окне ввода текста Имя функции (Function Name).
  21. В ниспадающем списке Выходной тип пикселов (Output Pixel Type) выберите 32-битовый с плавающей точкой (32 Bit Float).
  22. Нажмите кнопку ОК.

    Функция Плюс (Plus) добавляется вниз на том же уровне, что и функция Минус (Minus), и 2 массива входных данных добавляются под именем Функция мозаики (Mosaic Function).

Определить входные данные для арифметических функций

Были добавлены функции, для выполнения арифметических действий; далее, вам нужно определить исходные данные. Есть каналы IR и R - каналы 1 и 2, последовательно (как было определено ранее). Чтобы сделать это, используйте функцию Извлечь каналы (Extract Bands).

Шаги:
  1. Щёлкните правой кнопкой верх Функции мозаики (Mosaic Function) под функцией Минус (Minus) и выберите Вставить (Insert) > Функция извлечения канала (Extract Band Function).

    Функция Вставить > Извлечение канала

  2. Введите 1 в текстовом окне Идентификаторы каналов (Band IDs).
  3. Щёлкните на вкладке Общие (General).
  4. Введите Извлечь инфракрасный (Extract IR) в текстовом окне Имя функции (Function Name).
  5. Нажмите кнопку ОК.

    Функция Извлечь инфракрасный (Extract IR) добавляется в последовательность функций, а Функция мозаики (Mosaic Function) добавляется к ней в качестве входных данных.

  6. Щёлкните правой кнопкой Функция мозаики (Mosaic Function) под функцией Минус (Minus) и выберите Вставить (Insert) > Функция извлечения каналов (Extract Band Function).
  7. Введите 2 в текстовом окне Идентификаторы каналов (Band IDs).
  8. Щёлкните на вкладке Общие (General).
  9. Введите Извлечь красный (Extract Red) в текстовом окне Имя функции (Function Name).
  10. Нажмите кнопку ОК.

    Функция Извлечь красный (Extract Red) добавляется в последовательность функций, а Функция мозаики (Mosaic Function) добавляется в нее в качестве входных данных.

    Добавленные функции Извлечь каналы
  11. Повторите эти шаги для входных данных функции Плюс (Plus).

    Вы заканчиваете с последовательностью функций, которая выглядит как та, которая находится наверху этого раздела.

  12. Нажмите кнопку OK, чтобы закрыть диалоговое окно Свойства набора данных мозаики (Mosaic Dataset Properties).

После добавления этих функций, вы можете предварительно просмотреть мозаичное изображение. Вы можете вычислить статистику набора данных мозаики, т.к. он был изменен и содержит 32-битовые выходные данные. Можно использовать инструмент Вычислить статистику (Calculate Statistics).

Вы можете исследовать значения пикселов, используя инструмент Идентифицировать (Identify) или Инспектор пикселов (Pixel Inspector).

Связанные темы

9/11/2013