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

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

Сводка

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

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

Иллюстрация

Иллюстрация инструмента Зональная геометрия
OutRas = ZonalGeometry(InRas1,"VALUE","AREA")

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

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

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

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

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

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

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

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

  • Тип данных выходного растра для каждого из геометрических типов – значения с плавающей точкой.

  • Если какая-либо зона состоит только из одной ячейки, или если зона представляет единый квадратный блок ячеек, ориентация эллипса (который в этом случае будет окружностью) устанавливается равной 90 градусам.

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

Синтаксис

ZonalGeometry(in_zone_data, zone_field, {geometry_type}, {cell_size})
ParameterОбъяснениеТип данных
in_zone_data

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

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

Raster Layer; Feature Layer
zone_field

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

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

Field
geometry_type
(Дополнительный)

Вычисляемый тип геометрии.

  • AREAПлощадь каждой зоны.
  • PERIMETERПериметр каждой зоны.
  • THICKNESSСамая глубокая (или толстая) точка в пределах зоны из окружающих ее ячеек.
  • CENTROIDОпределяет местоположение центроида каждой зоны.
String
cell_size
(Дополнительный)

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

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

Analysis Cell Size

Значение отраженного сигнала

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

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

Raster

Пример кода

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

В этом примере определяется площадь для каждой зоны, определенная входным полигональным шейп-файлом.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outZonalGeometry = ZonalGeometry("zones.shp", "Classes", "AREA", 0.2)
outZonalGeometry.save("C:/sapyexamples/output/zonegeomout3")
ZonalGeometry Пример 2 (автономный скрипт)

В этом примере определяется площадь для каждой зоны, определенная входным полигональным шейп-файлом.

# Name: ZonalGeometry_Ex_02.py
# Description:Calculates for each zone in a dataset the specified geometry 
#   measure (area, perimeter, thickness, or the characteristics 
#   of ellipse).
# 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 = "zones.shp"
zoneField = "Classes"
cellSize = 0.2

# Execute ZonalStatistics
outZonalGeometry = ZonalGeometry(inZoneData, zoneField, "AREA", cellSize)  

# Save the output 
outZonalGeometry.save("C:/sapyexamples/output/zonegeomout2")

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

  • Basic: Требуется Spatial Analyst
  • Standard: Требуется Spatial Analyst
  • Advanced: Требуется Spatial Analyst

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