Доступно с лицензией Spatial Analyst.
Краткая информация
Вычисляет для каждой зоны в наборе данных определенную геометрическую характеристику (площадь, периметр, толщину либо характеристики эллипса).
Более подробно о том, как работает инструмент Зональная геометрия
Иллюстрация
Использование
Зона определяется как все области входных данных, имеющие одно значение. Области не обязательно должны быть непрерывными. Наборы растровых данных и наборы классов объектов могут использоваться для входных данных зоны.
Если Входные растровые или векторные данные зоны (in_zone_data в Python) содержат перекрывающиеся полигоны, зональный анализ не будет выполняться для каждого отдельного полигона. Поскольку векторные входные данные конвертируются в растр, каждое местоположение может иметь только одно значение.
Альтернативный метод заключается в обработке зональной статистики итеративно для каждой из полигональных зон с последующим сопоставлением результатов.
При указании Входных растровых или векторных данных зоны (in_zone_data в Python) полем зоны по умолчанию будет первое доступное целочисленное или текстовое поле. Если других допустимых полей нет, по умолчанию используется поле ObjectID (например, OID или FID).
Тип данных выходного растра для каждого из геометрических типов – значения с плавающей точкой.
Если какая-либо зона состоит только из одной ячейки, или если зона представляет единый квадратный блок ячеек, ориентация эллипса (который в этом случае будет окружностью) устанавливается равной 90 градусам.
См. раздел Параметры среды анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.
Синтаксис
ZonalGeometry (in_zone_data, zone_field, {geometry_type}, {cell_size})
Параметр | Объяснение | Тип данных |
in_zone_data | Набор данных, который определяет зоны. Зоны могут быть определены слоем целочисленного растра или векторным слоем. | Raster Layer; Feature Layer |
zone_field | Поле, в котором содержатся значения, определяющие каждую зону. Это может быть целочисленное поле набора данных зон. | Field |
geometry_type (Дополнительный) | Вычисляемый тип геометрии.
| String |
cell_size (Дополнительный) | Размер обрабатываемой ячейки для выполнения зональной операции. Значение, устанавливаемое в параметрах среды. Если не заданы параметры среды, значение по умолчанию для размера ячейки определяется по типу данных зоны, как показано ниже:
| Analysis Cell Size |
Возвращаемое значение
Название | Объяснение | Тип данных |
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
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ZonalStatistics
outZonalGeometry = ZonalGeometry(inZoneData, zoneField, "AREA", cellSize)
# Save the output
outZonalGeometry.save("C:/sapyexamples/output/zonegeomout2")
Параметры среды
Информация о лицензиях
- ArcGIS Desktop Basic: Требует Spatial Analyst
- ArcGIS Desktop Standard: Требует Spatial Analyst
- ArcGIS Desktop Advanced: Требует Spatial Analyst