Суммировать растр в пределах (Анализ растра)

Сводка

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

Иллюстрация

Иллюстрация инструмента Суммировать растр внутри

Использование

  • Зона определяется как все области входных данных, имеющие одно значение. Области не обязательно должны быть непрерывными. И растры, и векторные объекты могут использоваться для входных данных зон.

  • Этот инструмент портала для анализа растров доступен, если вы выполнили вход в ArcGIS Enterprise Ссылка на разбор анализа в ArcGIS Enterprise портал с расширением ArcGIS Image Server Ссылка на раздел Что такое ArcGIS Image Server настроенный для Raster Analysis Ссылка на настройку и развертывание аналитики растров. Когда инструмент запускается, ArcGIS Pro выступает в качестве клиента, и обработка проходит на серверах, интегрированных с ArcGIS Enterprise. Инструмент портала использует слои портала в качестве входных данных и создает выходные данные на этом же портале.

    Параметр Входной растровый слой поддерживает слой портала, URI или URL сервиса изображений или выходные данные инструмента Создать слой сервера изображений. Входной векторный слой может быть слоем портала или URI либо URL сервиса объектов. Указанный инструмент не поддерживает локальные наборы растровых данных или слои. Хотя вы можете использовать локальные векторные данные или слои как входные данные для инструментов портала, лучше все же использовать слои портала в качестве входных данных.

  • Если Входной слой зон (inputZoneLayer в Python) представлен растром, он должен быть целочисленным.

    Если входные данные зон представлены пространственными объектами, они будет конвертированы в растр, при этом размер ячейки и выравнивание считываются из Входного растра.

  • Если Размер ячейки во Входном слое зон (inputZoneLayer в Python) и во Входном растровом слое суммирования (inputRasterLayertoSummarize в Python) различается, то размер выходной ячейки будет Максимальный из входных, а растр значений будет использоваться как Растр привязки при внутренней конвертации. Если размер ячейки совпадает, но ячейки не выровнены, то растр значений будет использован как растр привязки при внутренней конвертации. В любом из этих случаев перед выполнением зональной операции будет инициирован внутренний пересчет.

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

  • Если какая-либо зона в Входном слое зон не перекрывает ни один центр ячейки входного растра значений, эта зона будет определена как NoData. В этом случае определите соответствующее разрешение растра, которое будет отображать все детали входных объектов зон, и используйте это разрешение как Размер ячейки в параметрах среды. Если вы укажите меньший размер ячейки, выходной растр будет большего размера. Более высокий уровень разрешения выходных данных не даст вам возможности получить выходные данные более высокого качества, так как подробная детализация отсутствует во Входном растровом слое для суммирования.

  • Если Входной слой зон имеют перекрывающиеся полигоны, зональный анализ не будет выполняться для каждого индивидуального полигона. Поскольку векторные входные данные конвертируются в растр, каждое местоположение может иметь только одно значение.

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

  • Если Входной слой зон представлен набором точечных данных, возможно, что в каждую конкретную ячейку входного растра значений попадет больше одной точки. Для таких ячеек значение зоны определяется точкой с наименьшим ObjectID (например, OID или FID).

  • При указании Входного слоя зон, полем зоны по умолчанию будет первое доступное и допустимое целочисленное или текстовое поле. Если других допустимых полей нет, по умолчанию используется поле ObjectID (например, OID или FID).

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

Синтаксис

arcpy.ra.SummarizeRasterWithin(inputZoneLayer, zoneField, inputRasterLayertoSummarize, outputName, {statisticType}, {ignoreMissingValues}, {processAsMultidimensional}, {percentileValue}, {percentileInterpolationType})
ParameterОбъяснениеТип данных
inputZoneLayer

Входной набор данных, определяющий зоны.

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

Raster Layer; Feature Layer
zoneField

Поле, определяющее каждую зону.

Это может быть целочисленное или строковое поле набора данных зоны.

String
inputRasterLayertoSummarize

Растр, содержащий значения, на основании которых будет вычислена статистика.

Raster Layer
outputName

Имя выходного слоя растрового сервиса.

Если имя сервиса изображений уже используется, появится запрос ввести новое имя.

String
statisticType
(Дополнительный)

Указывает тип вычисляемой статистики.

Доступные опции, если растр для суммирования является целочисленным: Среднее, Большинство, Максимум, Медиана, Минимум, Меньшинство, Процентиль, Диапазон, Средне-квадратичное отклонение, Сумма и Разнообразие.

Если растр для суммирования представлен типом данных с плавающей точкой, доступны опции Среднее, Максимум, Медиана, Минимум, Процентиль, Диапазон, Средне-квадратичное отклонение и Сумма.

  • MEANВычисляется Среднее значение всех ячеек растрового слоя, которые принадлежат той же зоне, что и выходная ячейка. Это значение по умолчанию.
  • MAJORITYВычисляется значение, чаще всего встречаемое среди всех ячеек растрового слоя для суммирования, которые принадлежат той же зоне, что и выходная ячейка.
  • MAXIMUMВычисляется максимальное значение из всех ячеек растрового слоя для суммирования, которые принадлежат той же зоне, что и выходная ячейка.
  • MEDIANВычисляется медиана значений всех ячеек растрового слоя для суммирования, которые принадлежат той же зоне, что и выходная ячейка.
  • MINIMUMВычисляется минимальное значение из всех ячеек растрового слоя для суммирования, которые принадлежат той же зоне, что и выходная ячейка.
  • MINORITYВычисляется значение, реже всего встречаемое среди всех ячеек растрового слоя для суммирования, которые принадлежат той же зоне, что и выходная ячейка.
  • PERCENTILEБудет рассчитано значение процентиля для всех ячеек на растре значений, которые принадлежат той же зоне, что и выходная ячейка. Девяностый процентиль вычисляется по умолчанию. Вы можете указать другие значения (от 0 до 100), используя параметр Значение процентиля.
  • RANGEВычисляется разность между максимальным и минимальным значением из всех ячеек растрового слоя для суммирования, которые принадлежат той же зоне, что и выходная ячейка.
  • STDВычисляется средне-квадратичное отклонение для всех ячеек растрового слоя для суммирования, которые принадлежат той же зоне, что и выходная ячейка.
  • SUMВычисляется суммарное значение всех ячеек растрового слоя для суммирования, которые принадлежат той же зоне, что и выходная ячейка.
  • VARIETYВычисляется число уникальных значений из всех ячеек растрового слоя для суммирования, которые принадлежат той же зоне, что и выходная ячейка.
String
ignoreMissingValues
(Дополнительный)

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

  • DATAОтмечено – в любой зоне только ячейки, имеющие значение во входном растровом слое для суммирования, будут использованы при определении выходного значения для этой зоны. Пропущенные значения или значения NoData игнорируются в вычислениях статистики. Это значение по умолчанию.
  • NODATAЕсли в пределах конкретной зоны у какой-либо ячейки растрового слоя для суммирования отсутствует значение, ячейка не игнорируется и наличие такой ячейки указывает на отсутствие необходимой информации для вычисления статистики для всех ячеек этой зоны. Соответственно, все ячейки зоны получат значения NoData в выходном растра.
Boolean
processAsMultidimensional
(Дополнительный)

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

  • CURRENT_SLICEСтатистика будет вычисляться из текущего среза входного многомерного набора данных. Это значение по умолчанию.
  • ALL_SLICESСтатистика будет вычисляться для всех измерений (таких как время или глубина) многомерного набора данных.
Boolean
percentileValue
(Дополнительный)

Вычисляемый процентиль. Значение по умолчанию – 90, для 90-го процентиля.

Значения могут варьироваться от 0 до 100. 0-й процентиль по существу эквивалентен Минимума в статистике, а 100-й процентиль эквивалентен Максимуму. Значение 50 даст по существу тот же результат, что и Медиана в статистике.

Эта опция доступна, только если для параметра statisticType задано значение PERCENTILE.

Double
percentileInterpolationType
(Дополнительный)

Задает метод интерполяции Процентиль, используемый когда число вычисляемых значений входного растра - четное.

  • AUTO_DETECTЕсли входной растр значений содержит целочисленные пикселы, используется метод NEAREST. Если входной растр значений содержит пикселы с плавающей точкой, используется метод LINEAR. Это значение по умолчанию.
  • NEARESTИспользуется ближайшее доступное к желательному процентилю значение. В этом случае тип выходных пикселов будет таким же, как и во входном растре значений.
  • LINEARИспользуется взвешенное среднее из двух ближайших от желательного процентиля значений. В этом случае тип выходного пиксела - с плавающей точкой.
String

Производные выходные данные

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

Выходной растр.

Растровый слой

Пример кода

SummarizeRasterWithin, пример 1 (окно Python)

В этом примере для каждой зоны определяется среднее арифметическое значение ячеек в слое растра для суммирования.

import arcpy
arcpy.SummarizeRasterWithin_ra('https://MyPortal.esri.com/server/rest/services/Hosted/landuse/ImageServer',
                               'Landuse', 'https://MyPortal.esri.com/server/rest/services/Hosted/elevation/ImageServer',
                               'outRaster', 'MEAN', 'DATA')
SummarizeRasterWithin, пример 2 (автономный скрипт)

В этом примере для каждой зоны определяется среднее значение ячеек в слое растра для суммирования.

#-------------------------------------------------------------------------------
# Name: SummarizeRasterWithin_Ex_02.py
# Description: Calculates the maximum sea-surface temperature at different ecological zones.
# Requirements: ArcGIS Image Server

# Import system modules
import arcpy

# Set local variables
inputZoneLayer = 'https://MyPortal.esri.com/server/rest/services/Hosted/zones/ImageServer'
zoneField = 'temperature'
inputRasterLayertoSummarize = 'https://MyPortal.esri.com/server/rest/services/Hosted/seaSurfaceTemperature/ImageServer'
outputName = 'outSSTRaster'
statisticType = 'MAXIMUM' 
ignoreMissingValues = ''
processAsMultidimensional = 'ALL_SLICES'

# Execute Multidimensional Summarize Raster Within operation
arcpy.SummarizeRasterWithin_ra(inputZoneLayer, zoneField, inputRasterLayertoSummarize,
                               outputName, statisticType, ignoreMissingValues)

Информация о лицензиях

  • Basic: Требуется ArcGIS Image Server
  • Standard: Требуется ArcGIS Image Server
  • Advanced: Требуется ArcGIS Image Server

Связанные разделы