Доступно с лицензией Spatial Analyst.
Краткая информация
Вычисляет перекрестную таблицу площадей между двумя наборами данных и выдает таблицу.
Иллюстрация
Использование
Зона определяется как все области входных данных, имеющие одно значение. Области не обязательно должны быть непрерывными. Наборы растровых данных и наборы классов объектов могут использоваться для входных данных зоны.
Если входные данные и для зон, и для классов представлены растрами с одинаковым разрешением, они будут использованы напрямую.
Если разрешения растров отличаются, до выполнения зональной операции для приведения растров в соответствие друг другу применяется внутренний пересчет.
Если входные данные зон представлены набором растровых данных, у него должна быть таблица атрибутов. Таблица атрибутов обычно создается для целочисленных растров автоматически, но при определенных обстоятельствах этого может не произойти. Для создания можно использовать инструмент Построить таблицу атрибутов растра.
Если входные данные зоны представлены набором классов объектов, к нему будет внутренне применено преобразование "вектор в растр".
Чтобы убедиться, что результаты преобразования будут корректно совмещены с входными растровыми данными классов, рекомендуется проверить, заданы ли в параметрах среды и в параметрах анализа растров корректные параметры экстента и привязки растра.
При указании входной зоны или данных класса полем по умолчанию будет первое доступное и корректное поле. Если других допустимых полей нет, по умолчанию используется поле ObjectID (например, OID или FID).
Если для Поля зоны выбрано зарезервированное поле (например, OBJECTID, FID или OID), это может привести к неоднозначному результату. Результат содержит имя определенного зарезервированного поля, необходимое для конкретного типа выходного формата, а также заданное Поле зоны . Если имя указанного поля такое же, как у зарезервированного поля для конкретного выходного формата, имя поля зоны в выходных данных будет изменено таким образом, чтобы все имена полей в результате были уникальными.
Если входные данные классов представлены набором векторных данных, к ним будет внутренне применено преобразование "вектор в растр". Условия, приведенные в предыдущем совете для входных векторных данных зон, также применимы и для входных векторных данных классов.
В целом, рекомендуется использовать растры только в качестве входных данных зоны и класса. Если входными данными являются пространственные объекты, сначала конвертируйте их в растры с помощью инструментов конвертации В растр. Это обеспечивает больший контроль за выполнением преобразований «вектор в растр», позволяя достичь постоянных, ожидаемых результатов.
Если в качестве данных классов используется набор данных точек или линий, в итоговую таблицу будут включены области, пересекаемые этими объектами.
Выходными данными инструмента Таблица площадей является таблица.
В этой таблице:
- Содержится запись о каждом уникальном значении в наборе данных зоны.
- Содержится поле для каждого уникального значения в наборе данных классов.
- Каждая запись будет хранить площадь каждого класса в пределах каждой зоны.
Обратитесь к статье Работа с инструментом Таблица площадей для конкретного выбранного формата выходного растра, а также предложений по работе с ними.
См. раздел Параметры среды анализа и 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)
Параметры среды
Информация о лицензиях
- ArcGIS Desktop Basic: Требует Spatial Analyst
- ArcGIS Desktop Standard: Требует Spatial Analyst
- ArcGIS Desktop Advanced: Требует Spatial Analyst