Anomaly

Доступно с лицензией Image Analyst.

Доступно с лицензией Spatial Analyst.

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

Создает растровый объект, содержащий аномальные значения пикселов входного многомерного растра на основе временного интервала и метода вычисления аномалий.

Обсуждение

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

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

  • Отличие от среднего = x - µ
    • x = значение пиксела в срезе
    • µ = среднее значение этого пиксела за заданный временной интервал
  • Процентное отличие от среднего = |x - µ| /[(x + µ)/2]
    • x = значение пиксела в срезе
    • µ = среднее значение этого пиксела за заданный временной интервал
    • |x - µ| = абсолютное значение разницы между значением и средним значением
  • Процент от усредненного = x / µ
    • x = значение пиксела в срезе
    • µ = среднее значение этого пиксела за заданный временной интервал

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

Синтаксис

Anomaly (in_raster, {dimension_name}, {anomaly_type}, {temporal_interval}, {ignore_nodata})
ПараметрОписаниеТип данных
in_raster

Входной многомерный набор растровых данных.

Raster
dimension_name

Имя измерения, вдоль которого будет выполняться поиск аномалии.

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

String
anomaly_type

Определяет метод, используемый для расчета аномалий.

  • DIFFERENCE_FROM_MEANВычисляет разницу между значением пиксела и средним значением этого пиксела, вычисленного для всех срезов в соответствии с интервалом. Используется по умолчанию.
  • PERCENT_DIFFERENCE_FROM_MEANВычисляет разницу в процентах между значением пиксела и средним значением этого пиксела, вычисленного для всех срезов в соответствии с интервалом.
  • PERCENT_OF_MEANВычисляет процент от среднего.

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

String
temporal_interval

Задает временной интервал, использующийся для вычисления среднего значения.

  • NoneВычисляет среднее значение пиксела по всем срезам. Используется по умолчанию.
  • HOURLYВычисляет среднечасовое значение для каждого пиксела.
  • DAILYВычисляет среднесуточное значение для каждого пиксела.
  • WEEKLYВычисляет среднее за неделю значение для каждого пиксела.
  • MONTHLYВычисляет среднемесячное значение для каждого пиксела.
  • YEARLYВычисляет среднегодовое значение для каждого пиксела.

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

String
ignore_nodata

Определяет, будут ли игнорироваться значения NoData в анализе.

  • True ­ анализ будет включать все действительные пикселы вдоль данного измерения и игнорировать любые пикселы NoData. Используется по умолчанию.
  • False ­ результатом анализа будет значение NoData, если для этого пиксела по данному измерению есть хотя бы одно значение NoData.

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

Boolean
Возвращаемое значение
Тип данныхОписание
Raster

Выходной многомерный растр аномалий.

Пример кода

Пример Аномалии

Вычисляет аномалии объема выпавших осадков по всем срезам для среднемесячных значений.

import arcpy
from arcpy.ia import *

arcpy.CheckOutExtension("ImageAnalyst")
 
in_raster = Raster('ClimateData_Daily.nc', True)
 
# Choose the precipitation variable 
prcp_raster = Subset(in_raster, variables = 'prcp')
 
# Calculate percent of mean anomalies, 
# where the mean_value is the mean of all slices 
prcp_anomaly = Anomaly(prcp_raster, anomaly_type = 'PERCENT_OF_MEAN') 
 
# Calculate the difference from mean,
# where the mean_value is the mean of each year 
prcp_monthly_anomaly = Anomaly(
	prcp_raster, temporal_interval = 'YEARLY')