Доступно с лицензией Spatial Analyst.
Краткая информация
Вычисляет перекрестную таблицу площадей между двумя наборами данных и выдает таблицу.
Иллюстрация
Использование
-
Зона определяется как все области входных данных, имеющие одно значение. Области не обязательно должны быть непрерывными. Наборы растровых данных и наборы классов объектов могут использоваться для входных данных зоны.
Если входные данные и для зон, и для классов представлены растрами с одинаковым разрешением, они будут использованы напрямую.
Если разрешения растров отличаются, до выполнения зональной операции для приведения растров в соответствие друг другу применяется внутренний пересчет.
Если входные данные зон представлены набором растровых данных, он должен иметь таблицу атрибутов. Таблица атрибутов обычно создается для целочисленных растров автоматически, но при определенных обстоятельствах этого может не произойти. Для создания можно использовать средство Построить таблицу атрибутов растра (Build Raster Attribute Table).
Если входные данные зоны представлены набором классов объектов, к нему будет внутренне применено преобразование "вектор в растр".
Чтобы убедиться, что результаты преобразования будут корректно совмещены с входными растровыми данными классов, рекомендуется проверить, заданы ли в параметрах среды и в параметрах анализа растров корректные параметры экстента и привязки растра.
При указании входной зоны или данных класса полем по умолчанию будет первое доступное и допустимое поле. Если других допустимых полей нет, по умолчанию используется поле ObjectID (например, OID или FID).
Если для Поля зоны выбрано зарезервированное поле (например, OBJECTID, FID или OID), это может привести к неоднозначному результату. Результат содержит имя определенного зарезервированного поля, необходимое для конкретного типа выходного формата, а также заданное Поле зоны . Если имя указанного поля такое же, как у зарезервированного поля для конкретного выходного формата, имя поля зоны в выходных данных будет изменено таким образом, чтобы все имена полей в результате были уникальными.
Если входные данные классов представлены набором векторных данных, к ним будет внутренне применено преобразование "вектор в растр". Условия, приведенные в предыдущем совете для входных векторных данных зон, также применимы и для входных векторных данных классов.
В целом, рекомендуется использовать растры только в качестве входных данных зоны и класса. Если входными данными является объект, сначала конвертируйте его в растры с помощью инструментов конвертации В растр (To Raster). Это обеспечивает больший контроль за выполнением преобразований «вектор в растр», позволяя достичь постоянных, ожидаемых результатов.
Если в качестве данных классов используется точечный или линейный набор данных, в итоговую таблицу будут включены площади областей, пересекаемых этими объектами.
Выходными данными инструмента Таблица площадей (Tabulate Area) является таблица.
В этой таблице
- Содержится запись о каждом уникальном значении в наборе данных зоны.
- Содержится поле для каждого уникального значения в наборе данных класса.
- Каждая запись будет хранить площадь каждого класса в пределах каждой зоны.
Обратитесь к статье Работа с инструментом Таблица площадей (Tabulate Area) для конкретного выбранного формата выходного растра, а также предложений по работе с ними.
См. раздел Параметры среды анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.
Синтаксис
TabulateArea (in_zone_data, zone_field, in_class_data, class_field, out_table, {processing_cell_size})
Параметр | Объяснение | Тип данных |
in_zone_data |
Набор данных, который определяет зоны. Зоны могут быть определены слоем целочисленного растра или векторным слоем. | Raster Layer | Feature Layer |
zone_field | Поле, в котором содержатся значения, определяющие каждую зону. Это может быть целочисленное или строковое поле набора данных зоны. | Field |
in_class_data | Набор данных, определяющий классы, для которых вычисляется суммарная площадь внутри каждой зоны. Входные данные классов могут быть представлены слоем целочисленного растра или векторным слоем. | Raster Layer | Feature Layer |
class_field | Поле, содержащее значения классов. Поле может быть представлено целочисленным или строковым полем входных данных классов. | Field |
out_table | Выходная таблица, которая будет содержать итоговые суммарные значения площадей каждого класса в пределах каждой зоны. Формат таблицы определяется выходным местоположением и путем к ней. По умолчанию выходными данными будет таблица базы геоданных. Если путь указывает не на базу геоданных, формат будет определяется расширением. Если выбрано расширение .dbf, данные будут в формате dBASE. Если расширение не указано, это будет таблица INFO. | Table |
processing_cell_size (Дополнительный) |
Размер обрабатываемой ячейки для выполнения зональной операции. Значение, устанавливаемое в параметрах среды. Если не заданы параметры среды, значение по умолчанию для размера ячейки определяется по типу данных зоны, как показано ниже:
| Analysis Cell Size |
Пример кода
TabulateArea – пример 1 (окно Python)
В этом примере выдаётся таблица с областью каждого значения класса, которые содержатся в каждой зоне.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
TabulateArea("zonedata.shp", "IDStr", "valueraster", "VALUE",
"C:/sapyexamples/output/areatable.dbf", 2)
TabulateArea, пример 2 (автономный скрипт)
В этом примере выдаётся таблица с областью каждого значения класса, которые содержатся в каждой зоне.
# Name: TabulateArea_Ex_02.py
# Description: Calculates cross tabulated areas between two datasets.
# 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"
env.extent = "classgrid"
env.snapRaster = "classgrid"
# Set local variables
inZoneData = "zonedata.shp"
zoneField = "IDStr"
inClassData = "valueraster"
classField = "VALUE"
outTable = "C:/sapyexamples/output/areatable02.dbf"
processingCellSize = 2
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute TabulateArea
TabulateArea(inZoneData, zoneField, inClassData, classField, outTable,
processingCellSize)
Параметры среды
- Автоподтверждение (Auto Commit)
- Размер ячейки (Cell size)
- Сжатие (Compression)
- Текущая рабочая область (Current Workspace)
- Экстент (Extent)
- Географические преобразования (Geographic Transformations)
- Маска (Mask)
- Выходное ключевое слово CONFIG (Output CONFIG Keyword)
- Выходная система координат (Output Coordinate System)
- Стандартизированные имена полей (Qualified Field Names)
- Статистика растра (Raster Statistics)
- Временная рабочая область (Scratch Workspace)
- Растр привязки (Snap Raster)
- Размер листа (Tile Size)
- Перенос описаний доменов полей (Transfer Field Domain Descriptions)
Информация о лицензиях
- ArcGIS Desktop Basic: Требует Spatial Analyst
- ArcGIS Desktop Standard: Требует Spatial Analyst
- ArcGIS Desktop Advanced: Требует Spatial Analyst