Зональная гистограмма (Spatial Analyst)

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

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

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

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

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

  • Число классов зональной гистограммы зависит от того, как задан входной растр значений (in_value_raster в Python).

    Если он задан как набор растровых данных, применяются следующие условия:

    • Для целочисленного растра с менее, чем 25 уникальными значениями, число классов будет соответствовать числу уникальных значений в растре значений.
    • Для целочисленного растра с более, чем 25 уникальными значениями, значения разбиваются на 256 классов, от 1 до 256. Если число уникальных значений меньше 256, некоторые классы получат идентификатор 0.
    • Для растра с плавающей точкой значения будут разделены на 256 классов, от 1 до 256.

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

    • Для символов Растяжки будет использован тип растяжки, значения разбиваются на 256 классов, от 1 до 256.
    • Для символов Классификации или Уникальных значений число классов будет соответствовать числу классов или уникальных значений в установках символов.
    • Зональный анализ выполняется в пределах диапазона значений, указанного в настройках символов Растяжка, Классификация или Уникальные значения. Значения в растре значений, которые не отображены в символах, игнорируются при расчетах.
    • При выполнении зонального анализа игнорируются символы Дискретные цвета или Векторное поле. Анализ будет выполняться только для типа данных и числа уникальных значений в растре значений, так же как и при указании для входного растра значений набора растровых данных.
    • Зональная гистограмма покажет значения классов ил надписей символов слоя растра значений.
  • Зона определяется как все области входных данных, имеющие одно значение. Области не обязательно должны быть непрерывными. Наборы растровых данных и наборы классов объектов могут использоваться для входных данных зоны.

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

  • Если Входные растровые или векторные данные зоны (in_zone_data в Python) векторные, они будут конвертированы в растр с использованием размера ячейки и выравнивания ячеек из Входного растра значений (in_value_raster в Python).

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

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

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

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

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

  • Параметр Поле зоны (zone_field в Python) должно быть целочисленным или текстовым.

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

  • Диаграмма зональной гистограммы не создается по умолчанию. Для создания графика отметьте параметр Зоны как строки в выходной таблице (установите для параметра zones_as_rows значение ZONES_AS_ROWS в Python) и укажите Имя выходного графика (параметр out_graph в Python). График зональной гистограммы можно сделать только в приложении ArcGIS Pro, он не поддерживается для автономных скриптов.

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

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

  • См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.

Параметры

ПодписьОписаниеТип данных
Входные растровые или векторные данные зон

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

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

Raster Layer; Feature Layer
Поле зоны

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

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

Field
Входной растр значений

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

Raster Layer
Выходная таблица

Выходной файл таблицы.

Формат таблицы определяется выходным местоположением и путем к ней. По умолчанию на выходе будет таблица базы геоданных, если она находится в рабочей области базы геоданных, и таблица dBASE, если она находится в файловой рабочей области.

Дополнительная выходная диаграмма создается по информации в таблице.

Table
Имя выходной диаграммы
(Дополнительный)

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

Графики перечислены на панели Содержание в разделе Автономные таблицы.

Graph
Зоны как строки в выходной таблице
(Дополнительный)

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

  • Не отмечено - зоны будут представлены как поля. Это значение по умолчанию
  • Отмечено - зоны будут представлены как строки.
Boolean

ZonalHistogram(in_zone_data, zone_field, in_value_raster, out_table, {out_graph}, {zones_as_rows})
ИмяОписаниеТип данных
in_zone_data

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

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

Raster Layer; Feature Layer
zone_field

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

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

Field
in_value_raster

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

Raster Layer
out_table

Выходной файл таблицы.

Формат таблицы определяется выходным местоположением и путем к ней. По умолчанию на выходе будет таблица базы геоданных, если она находится в рабочей области базы геоданных, и таблица dBASE, если она находится в файловой рабочей области.

Дополнительная выходная диаграмма создается по информации в таблице.

Table
out_graph
(Дополнительный)

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

Graph
zones_as_rows
(Дополнительный)

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

  • ZONES_AS_FIELDSЗоны будут представлены как поля. Это значение по умолчанию
  • ZONES_AS_ROWSЗоны будут представлены как строки.
Boolean

Пример кода

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

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

from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outZonalHist = ZonalHistogram("zoneras", "zonfield", "valueras", "znhist_tbl.dbf",
                              "znhist_graphl", "ZONES_AS_ROWS")
ZonalHistogram, пример 2 (автономный скрипт)

В этом примере создается таблица зональной гистограммы .dbf.

# Name: ZonalHistogram_Ex_02.py
# Description: Creates a zonal histogram output table
#              showing the amount of value cells 
#              for each unique input zone.
# Requirements: Spatial Analyst Extension

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

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

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

# Set local variables
inZoneData = "zonras"
zoneField = "zonfield"
inValueRaster = "valueras" 
outTable = "C:/sapyexamples/output/zonehist_tb2.dbf" 

# Execute ZonalHistogram
ZonalHistogram(inZoneData, zoneField, inValueRaster, outTable)

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

  • Basic: Обязательно Spatial Analyst
  • Standard: Обязательно Spatial Analyst
  • Advanced: Обязательно Spatial Analyst

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