Skip to main content

DetectChangeUsingChangeAnalysis

Краткая информация

Использует растр анализа изменений для создания растрового объекта, содержащего информацию о дате изменения.

Создается растр анализа изменений с помощью инструмента Анализировать изменения с помощью CCDC или Анализировать изменения с помощью LandTrendr.

Обсуждение

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

Указанный набор растровых данных является временным для растрового объекта. Чтобы сделать его постоянным, вы можете вызвать метод растрового объекта save.

Синтаксис

DetectChangeUsingChangeAnalysis(raster, {change_type}, {max_number_of_changes}, {segment_date}, {change_direction}, {filter_by_year}, {min_year}, {max_year}, {filter_by_duration}, {min_duration}, {min_duration}, {filter_by_magnitude}, {min_magnitude}, {max_magnitude})

Параметр Объяснение Тип данных

raster

Входной растр анализа изменений, созданный инструментом Анализировать изменения с помощью CCDC или Анализировать изменения с помощью LandTrendr.

Raster

change_type

Определяет тип изменений, извлекаемых из растра анализа изменений.

  • TIME_OF_LATEST_CHANGE—Каждый пиксел будет содержать дату последнего изменения этого пиксела во временном ряду. Это значение по умолчанию

  • TIME_OF_EARLIEST_CHANGE—Каждый пиксел будет содержать дату первого изменения этого пиксела во временном ряду.

  • TIME_OF_LARGEST_CHANGE—Каждый пиксел будет содержать дату наиболее значительного изменения этого пиксела во временном ряду.

  • NUM_OF_CHANGES—Каждый пиксел будет содержать число изменений этого пиксела во временном ряду.

  • TIME_OF_LONGEST_CHANGE—Каждый пиксел содержит дату изменения в начале или конце самого длинного переходного сегмента во временном ряду.

  • TIME_OF_SHORTEST_CHANGE—Каждый пиксел содержит дату изменения в начале или конце самого короткого переходного сегмента во временном ряду.

  • TIME_OF_FASTEST_CHANGE—Каждый пиксел содержит дату изменения в начале или конце перехода, который произошел быстрее всего.

  • TIME_OF_SLOWEST_CHANGE—Каждый пиксел содержит дату изменения в начале или конце перехода, который произошел медленнее всего.

(Значение по умолчанию — TIME_OF_LATEST_CHANGE)

String

max_number_of_changes

Максимальное количество изменений на пиксел для расчета. Это число соответствует количеству каналов выходного растра. Значение по умолчанию - 1. Это означает, что будет рассчитана только одна дата изменения, а выходной растр будет содержать только один канал.

Этот параметр недоступен, если для параметра change_type установлено значение NUM_OF_CHANGES.

(Значение по умолчанию — 1)

Integer

segment_date

Указывает, следует ли извлекать дату в начале сегмента изменения или в конце.

Этот параметр доступен только в том случае, если растр анализа входных изменений является выходом инструмента Анализировать изменения с помощью LandTrendr.

  • BEGINNING_OF_SEGMENT—Извлеките дату в начале сегмента изменения. Это значение по умолчанию

  • END_OF_SEGMENT—Извлеките дату в конце сегмента изменения.

(Значение по умолчанию — BEGINNING_OF_SEGMENT)

String

change_direction

Задает направление изменения, которое необходимо включить в анализ.

Этот параметр доступен только в том случае, если растр анализа входных изменений является выходом инструмента Анализировать изменения с помощью LandTrendr.

  • ALL—Все направления изменения включены в выход. Это значение по умолчанию

  • INCREASE—В выход включается только изменение в положительном или возрастающем направлении.

  • DECREASE—В выход включается только изменение в отрицательном или убывающем направлении.

(Значение по умолчанию — ALL)

String

filter_by_year

Указывает, следует ли выполнять фильтрацию по диапазону лет.

  • True – фильтрует результаты, чтобы в выходные данные включались только изменения, произошедшие в течение определенного диапазона лет.

  • False – не фильтрует результаты по годам. Это значение по умолчанию

(Значение по умолчанию — False)

Boolean

min_year

Самый ранний год для фильтрации результатов. Этот параметр является обязательным, если для параметра filter_by_year установлено значение True.

(Значение по умолчанию — 1970)

Double

max_year

Последний год для фильтрации результатов. Этот параметр является обязательным, если для параметра filter_by_year установлено значение True.

(Значение по умолчанию — 2020)

Double

filter_by_duration

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

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

  • False – не фильтрует результаты по продолжительности. Это значение по умолчанию

(Значение по умолчанию — False)

Boolean

min_duration

Минимальное количество лет подряд для включения в результаты. Этот параметр является обязательным, если для параметра filter_by_duration установлено значение True.

(Значение по умолчанию — 0)

Double

min_duration

Максимальное количество лет подряд для включения в результаты. Этот параметр является обязательным, если для параметра filter_by_duration установлено значение True.

(Значение по умолчанию — 50)

Double

filter_by_magnitude

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

  • True – фильтрует результаты по величине, чтобы в выход включались только изменения заданной величины.

  • False – не фильтрует результаты по величине. Это значение по умолчанию

(Значение по умолчанию — False)

Boolean

min_magnitude

Минимальная величина изменения для включения в результаты. Этот параметр является обязательным, если для параметра filter_by_magnitude установлено значение True.

(Значение по умолчанию — -50)

Double

max_magnitude

Максимальная величина изменения, которую нужно включить в результаты. Этот параметр является обязательным, если для параметра filter_by_magnitude установлено значение True.

(Значение по умолчанию — 50)

Double

Возвращаемое значение

Тип данных Объяснение

Raster

Растровый объект, содержащий информацию о выявленных изменениях.

Пример кода

Пример DetectChangeUsingChangeAnalysis

Извлекает даты трех самых больших изменений из растра анализа изменений.

import arcpy
from arcpy.ia import *

change_analysis_raster = arcpy.Raster('Landsat_CCDC.crf', True)

# Detect the dates of the three largest changes in pixel values over time
largest_change = arcpy.ia.DetectChangeUsingChangeAnalysis(
    change_analysis_raster, "TIME_OF_LARGEST_CHANGE", 3)