Зональная геометрия в таблицу (Spatial Analyst)
Краткая информация
Вычисляет для каждой зоны в наборе данных измерения геометрии (площадь, периметр, толщину и характеристики эллипса) и выдает результаты в виде таблицы.
Более подробно о том, как работает инструмент Зональная геометрия
Рисунок
Использование
-
Зона определяется как все области входных данных, имеющие одно значение. Области не обязательно должны быть непрерывными. Наборы растровых данных и наборы классов объектов могут использоваться для входных данных зоны.
-
Если в качестве входных данных зон используется набор данных объектов, в диалоговом окне Размер обрабатываемой ячейки (Processing cell size) или параметре среды Размер ячейки (Cell Size) следует задать размер ячейки.
-
Вычисления для каждой зоны записываются в выходной таблице.
При указании данных входной зоны полем зоны по умолчанию будет первое доступное и допустимое поле. Если других допустимых полей нет, по умолчанию используется поле ObjectID (например, OID или FID).
Если для Поля зоны (Zone field) выбрано зарезервированное поле (например, OBECTID, FID или OID), это может привести к неоднозначному результату. Результат содержит имя определенного зарезервированного поля, необходимое для конкретного типа выходного формата, а также заданное Поле зоны (Zone field). Если имя указанного поля такое же, как у зарезервированного поля для конкретного выходного формата, имя поля зоны в выходных данных будет изменено таким образом, чтобы все имена полей в результате были уникальными.
Примечание:Чтобы получить поле уникальных значений, которое не имеет зарезервированного имени, используйте инструменты геообработки Добавить поле (Add Field) и Вычислить поле (Calculate Field).
-
В выходной таблице поле значения всегда предшествует полям, содержащим зональные выходные вычисления. Поле значения содержит значения зон, определяемых набором данных зон.
-
Значения результатов зональных вычислений будут представлены числами с плавающей точкой.
-
Все результаты в выходной таблице, кроме поля ORIENTATION представлены в единицах карты. Значения поля ORIENTATION (ОРИЕНТАЦИЯ) представлены в градусах в диапазоне от 0 до 180. Параметр ORIENTATION (ОРИЕНТАЦИЯ) определяется как угол между осью x и большой осью эллипса. Значения угла ориентации увеличиваются в направлении против часовой стрелки, начиная от 0 на востоке (горизонтальное положение, направление вправо), и переходят через значение 90 градусов, когда большая ось вертикальна.
Если какая-либо зона состоит только из одной ячейки, или если зона представляет единый квадратный блок ячеек, ориентация эллипса (который в этом случае будет окружностью) устанавливается равной 90 градусам.
Синтаксис
Параметр | Объяснение | Тип данных |
in_zone_data |
Набор данных, который определяет зоны. Зоны могут быть определены слоем целочисленного растра или векторным слоем. | Raster Layer | Feature Layer |
zone_field | Поле, в котором содержатся значения, определяющие каждую зону. Это может быть целочисленное поле набора данных зон. | Field |
out_table |
Выходная таблица, которая содержит итоговую информацию по значениям в каждой зоне. Формат таблицы определяется выходным местоположением и путем к ней. Если расширение не указано, это будет таблица INFO. Если в качестве местоположения задана база геоданных, будет создана выходная таблица соответствующего типа (например, таблица файловой или базы геоданных ArcSDE). Если имя имеет расширение .dbf, выходные данные будут записаны в формате dBASE. | Table |
processing_cell_size (дополнительно) | Размер обрабатываемой ячейки для выполнения зональной операции. Значение, устанавливаемое в параметрах среды. Если не заданы параметры среды, значение по умолчанию для размера ячейки определяется по типу данных зоны, как показано ниже:
| Analysis Cell Size |
Пример кода
В этом примере определяются измерения геометрии для каждой зоны, определенной по входному полигональному шейп-файлу.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outZonalGeometryAsTable = ZonalGeometryAsTable("zones.shp", "Classes", "zonalgeomout", 0.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, "AREA", cellSize)