Доступно с лицензией Spatial Analyst.
Краткая информация
Вычисляет для каждой зоны в наборе данных измерения геометрии (площадь, периметр, толщину и характеристики эллипса) и выдает результаты в виде таблицы.
Более подробно о том, как работает инструмент Зональная геометрия
Иллюстрация
VALUE AREA PERIMETER THICKNESS XCENTROID YCENTROID MAJORAXIS MINORAXIS ORIENTATION 0 5.0 14.0 0.5 2.300 2.100 2.338 0.681 60.714 1 5.0 14.0 0.5 1.900 2.100 2.668 0.596 126.061 2 3.0 8.0 0.5 3.167 2.167 1.286 0.743 135.000 4 2.0 6.0 0.5 0.500 1.000 1.128 0.564 90.000
Использование
Зона определяется как все области входных данных, имеющие одно значение. Области не обязательно должны быть непрерывными. И растры, и векторные объекты могут использоваться для входных данных зон.
Размер ячейки обработки может быть задан числовым значениям или получен из имеющегося набора растровых данных. Если размер ячейки не был явно задан как значение параметра, он извлекается из параметра среды Размер ячейки, если такой задан. Если параметр размера ячейки и параметр среды не заданы, размер выходной ячейки по умолчанию определяется на основе типа входного набора данных следующим образом:
- Если входной набор данных является растром, используется размер ячейки этого набора данных.
- Если входной набор данных является векторным и задан параметр среды Растр замыкания, используется размер ячейки растра замыкания. Если растр замыкания не задан, размер ячейки вычисляется по наименьшему значению ширины или высоты экстента, деленному на 250, где экстент задан в параметре среды Выходная система координат.
Если размер ячейки указан в виде числа, то инструмент будет использовать это значение для выходного растра.
Если для определения размера ячейки указан другой растр, в параметре будет показан путь к набору растровых данных вместо значения размера ячейки. Размер ячейки этого растра будет использоваться непосредственно в анализе указанная пространственная привязка набора данных будет такой же, как и выходная система координат. Если же пространственная привязка набора данных отличается от выходной пространственной привязки, на будет перепроецирована на основе выбранного Метода проецирования размера ячейки.
Вычисления для каждой зоны записываются в выходной таблице.
Если Входные растровые или векторные данные зон (in_zone_data в Python) имеют перекрывающиеся полигоны, зональный анализ не будет выполняться для каждого индивидуального полигона. Поскольку векторные входные данные конвертируются в растр, каждое местоположение может иметь только одно значение.
Альтернативный метод заключается в обработке зональных данных итеративно для каждой из полигональных зон с последующим сопоставлением результатов.
При указании растровых или векторных данных входной зоны (in_zone_data в Python) полем зоны по умолчанию будет первое доступное целочисленное или текстовое поле. Если других допустимых полей нет, по умолчанию используется поле ObjectID (например, OID или FID).
В выходной таблице поле значения всегда предшествует полям, содержащим зональные выходные вычисления. Поле значения содержит значения зон, определяемых набором данных зон.
Значения результатов зональных вычислений будут представлены числами с плавающей точкой.
Все результаты в выходной таблице отображаются в единицах карты, кроме элемента ORIENTATION, который указан в градусах в диапазоне от 0 до 180. Ориентация определяется как угол между осью x и большой осью эллипса. Значения угла ориентации увеличиваются в направлении против часовой стрелки, начиная от 0 на востоке (горизонтальное положение, направление вправо), и переходят через значение 90 градусов, когда большая ось вертикальна.
Если какая-либо зона состоит только из одной ячейки, или если зона представляет единый квадратный блок ячеек, ориентация эллипса (который в этом случае будет окружностью) устанавливается равной 90 градусам.
См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.
Синтаксис
ZonalGeometryAsTable(in_zone_data, zone_field, out_table, {processing_cell_size})
Параметр | Объяснение | Тип данных |
in_zone_data | Набор данных, который определяет зоны. Зоны могут быть определены слоем целочисленного растра или векторным слоем. | Raster Layer; Feature Layer |
zone_field | Поле, в котором содержатся значения, определяющие каждую зону. Это может быть целочисленное поле набора данных зон. | Field |
out_table | Выходная таблица, которая содержит итоговую информацию по значениям в каждой зоне. Формат таблицы определяется выходным местоположением и путем к ней. По умолчанию выходными данными будет таблица базы геоданных. Если путь указывает не на базу геоданных, формат будет определяется расширением. Если выбрано расширение .dbf, данные будут в формате dBASE. Если расширение не указано, это будет таблица INFO. | Table |
processing_cell_size (Дополнительный) | Размер ячейки выходного растра, который будет создан. Этот параметр можно задать как числовым значением, так и получить из существующего набора растровых данных. Если размер ячейки не был в явном виде задан как значение параметра, будет использоваться значение размера ячейки, указанное в параметрах среды геообработки, если же и оно не указано, будут использоваться дополнительные правила вычисления размера ячейки на основе входных данных. Более подробно см. использование. | Analysis Cell Size |
Пример кода
ZonalGeometryAsTable, пример 1 (окно Python)
В этом примере определяются измерения геометрии для каждой зоны, определенной по входному полигональному шейп-файлу.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outZonalGeometryAsTable = ZonalGeometryAsTable("zones.shp", "Classes", "zonalgeomout", 0.2)
ZonalGeometryAsTable, пример 2 (автономный скрипт)
В этом примере определяются измерения геометрии для каждой зоны, определенной по входному полигональному шейп-файлу.
# Name: ZonalGeometryAsTable_Ex_02.py
# Description:Calculates for each zone in a dataset the specified geometry
# measure (area, perimeter, thickness, or the characteristics
# of ellipse) and reports the results as a table.
# 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"
outTable = "zonalgeomout02.dbf"
processingCellSize = 0.2
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ZonalGeometryAsTable
outZonalGeometryAsTable = ZonalGeometryAsTable(inZoneData, zoneField, outTable, processingCellSize)
Параметры среды
Информация о лицензиях
- Basic: Требуется Spatial Analyst
- Standard: Требуется Spatial Analyst
- Advanced: Требуется Spatial Analyst