Зональная статистика (Spatial Analyst)

Уровень лицензии:BasicStandardAdvanced

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

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

Более подробно о том, как работает инструмент Зональная статистика

Рисунок

Иллюстрация Зональная статистика
OutRas = ZonalStatistics(ZoneRas, "VALUE", ValRas, "MINIMUM")

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

Синтаксис

ZonalStatistics (in_zone_data, zone_field, in_value_raster, {statistics_type}, {ignore_nodata})
ПараметрОбъяснениеТип данных
in_zone_data

Набор данных, который определяет зоны.

Зоны могут быть определены слоем целочисленного растра или векторным слоем.

Raster Layer | Feature Layer
zone_field

Поле, в котором содержатся значения, определяющие каждую зону.

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

Field
in_value_raster

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

Raster Layer
statistics_type
(дополнительно)

Вычисляемый тип статистики.

  • MEAN Вычисляет среднее из значений всех ячеек на растре значений, которые принадлежат той же зоне, что и выходная ячейка.
  • MAJORITY Определяет значение, наиболее часто встречающееся в значениях всех ячеек на растре значений, которые принадлежат той же зоне, что и выходная ячейка.
  • MAXIMUM Определяет наибольшее значение из всех ячеек на растре значений, которые принадлежат той же зоне, что и выходная ячейка.
  • MEDIAN Определяет значение медианы для значений всех ячеек на растре значений, которые принадлежат той же зоне, что и выходная ячейка.
  • MINIMUM Определяет наименьшее значение из всех ячеек на растре значений, которые принадлежат той же зоне, что и выходная ячейка.
  • MINORITY Определяет значение, наименее часто встречающееся в значениях всех ячеек на растре значений, которые принадлежат той же зоне, что и выходная ячейка.
  • RANGE Вычисляет разницу между наименьшим и наибольшим значениями всех ячеек растра, которые принадлежат той же зоне, что и выходная ячейка.
  • STD Вычисляет стандартное отклонение всех ячеек растра значений, которые принадлежат той же зоне, что выходная ячейка.
  • SUM Вычисляет общее значение всех ячеек растра значений, которые принадлежат той же зоне, что выходная ячейка.
  • VARIETY Вычисляет количество уникальных значений для всех ячеек во входном растре значений, которые принадлежат к той же зоне, что и выходная ячейка.
String
ignore_nodata
(дополнительно)

Показывает, будут ли значения NoData в входных данных Значение (Value) влиять на результаты зоны, в которую они попадают.

  • DATA В любой зоне только ячейки, имеющие значение во входном растре значений, используются при определении выходного значения для этой зоны. При определении статистики будут использованы только ячейки из окрестности обрабатываемой ячейки, имеющие значения.
  • NODATA Если в какой-либо зоне в растре значений имеются ячейки со значением NoData, предполагается, что отсутствует достаточная информация для статистических вычислений для всех ячеек в этой зоне; поэтому вся зона получит значение NoData на выходном растре.
Boolean

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

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

Выходной растр зональной статистики.

Raster

Пример кода

ZonalStatistics Пример 1 (окно Python)

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

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outZonalStats = ZonalStatistics("zone", "value", "valueraster", "RANGE",
                                "NODATA")
outZonalStats.save("C:/sapyexamples/output/zonestatout")
ZonalStatistics Пример 2 (автономный скрипт)

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

# Name: ZonalStatistics_Ex_02.py
# Description: Calculates statistics on values of a raster 
#    within the zones of another dataset.
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Set local variables
inZoneData = "zone"
zoneField = "value"
inValueRaster = "valueraster" 

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Execute ZonalStatistics
outZonalStatistics = ZonalStatistics(inZoneData, zoneField, inValueRaster,
                                     "RANGE", "NODATA")

# Save the output 
outZonalStatistics.save("C:/sapyexamples/output/zonestatout2")

Параметры среды

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

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

ArcGIS for Desktop Basic: Требует Дополнительный модуль Spatial Analyst
ArcGIS for Desktop Standard: Требует Дополнительный модуль Spatial Analyst
ArcGIS for Desktop Advanced: Требует Дополнительный модуль Spatial Analyst
6/5/2014