Таблица площадей (Spatial Analyst)

Доступно с лицензией Spatial Analyst.

Краткая информация

Вычисляет перекрестную таблицу площадей между двумя наборами данных и выдает таблицу.

Иллюстрация

Иллюстрация инструмента Таблицы площадей
TabulateArea(ZoneRas, "VALUE", ClassRas, "VALUE", Tabarea1.dbf, 1)

Использование

  • Зона определяется как все области входных данных, имеющие одно значение. Области не обязательно должны быть непрерывными. И растры, и векторные объекты могут использоваться для входных данных зон.

  • Если все входные данные растровые, тип значений должен быть целочисленным.

  • Входной набор данных представляет собой класс пространственных объектов, он будет внутренне конвертирован в растр перед выполнением анализа, с использованием Размера ячейки и аргумента ячейки другого входного растра.

  • Если все входные данные растровые и их ячейки не выровнены, во время анализа они будут пересчитаны. Если параметр среды Растр замыкания явно не указан, происходит внутреннее выравнивание ячеек с помощью параметра Входных растровых или векторных данных (in_class_data в Python). Если оба растра имеют одинаковый размер ячеек и ячейки выровнены, пересчета не будет.

  • Если оба входных набора данных – классы объектов, они будут внутренне конвертированы в растры перед выполнением анализа с использованием параметра Размер ячейки обработки (processing_cell_size в Python) или с применением значения из параметров среды, если они заданы.

  • Если Входные растровые или векторные данные зон (in_zone_data в Python) являются объектом, для любых зональных объектов, которые не пересекаются с любыми центрами ячеек растрового класса, эти зоны не будут конвертироваться во внутренний растр зон. В результате, эти зоны не будут представлены в выходных данных. Вы можете управлять этим поведением, задав соответствующее значение для параметра среды Размер ячеек:, что позволит сохранить желательный уровень детализации зон объектов, и задать его в параметрах среды анализа.

  • Если входные данные имеют перекрывающиеся объекты, зональный анализ будет выполнен для каждого индивидуального объекта.

  • Если в качестве входного класса объектов используется точечные или линейные данные, в итоговую таблицу будут включены площади областей, пересекаемые этими объектами.

  • При указании входной зоны или данных класса полем по умолчанию будет первое допустимое целочисленное или текстовое поле. Если других допустимых полей нет, по умолчанию используется поле ObjectID (например, OID или FID).

  • Параметр Размер ячейки обработки может быть задан числовым значениям или получен из имеющегося набора растровых данных. Если размер ячейки не был явно задан как значение параметра, он извлекается из параметра среды Размер ячейки, если такой задан. Если параметр размера ячейки и параметр среды не заданы, размер выходной ячейки по умолчанию определяется на основе типа входного набора данных следующим образом:

    • Если входной набор данных является растром, то будет использоваться размер ячейки этого растра.
    • Если входной набор данных является вектором и задан параметр среды Растр привязки, то будет использоваться размер ячейки растра привязки. Если растр привязки не задан, размер ячейки вычисляется по наименьшему значению ширины или высоты экстента, деленному на 250, где экстент задан в параметре среды Выходная система координат.
  • Если размер ячейки указан в виде числа, то инструмент будет использовать это значение для выходного растра.

    Если для определения размера ячейки указан другой растр, в параметре будет показан путь к набору растровых данных вместо значения размера ячейки. Размер ячейки этого растра будет использоваться непосредственно в анализе указанная пространственная привязка набора данных будет такой же, как и выходная система координат. Если же пространственная привязка набора данных отличается от выходной пространственной привязки, она будет перепроецирована на основе выбранного Метода проецирования размера ячейки.

  • Параметр Классы как строки в выходной таблице (classes_as_rows в Python) позволяет выбрать тип схемы выходной таблицы. Отметьте этот параметр (CLASSES_AS_ROWS в Python) для представления классов в виде строк и снимите отметку (CLASSES_AS_FIELDS в Python) для представления классов в виде полей.

    Если классы представлены как строки, выходные данные таблицы могут быть связаны, и доступны для запросов на извлечение информации по площади по зонам или классам растров.

  • Выходными данными этого инструмента является таблица.

    В этой таблице, если параметр Классы как строки в выходной таблице не отмечен (CLASSES_AS_FIELDS в Python), соблюдаются следующие утверждения:

    • Представлена запись о каждом уникальном значении в наборе данных зоны.
    • Представлено поле для каждого уникального значения в наборе данных классов.
    • Каждая запись будет хранить площадь каждого класса в пределах каждой зоны.

    Если параметр Классы как строки в выходной таблице отмечен (CLASSES_AS_ROWS в Python), соблюдаются следующие утверждения:

    • Содержится запись о каждом уникальном значении в наборе данных зоны, которая содержит уникальное значение класса набора данных.
    • Представлены отдельные поля, которые идентифицируют поле зоны, поле класса, количество и площадь каждого класса в пределах каждой зоны.

  • См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.

Параметры

ПодписьОписаниеТип данных
Входные растровые или векторные данные зон

Набор данных, определяющий зоны.

Зоны могут быть определены слоем целочисленного растра или векторным слоем.

Raster Layer; Feature Layer
Поле зоны

Поле, которое содержит значения, определяющие каждую зону.

Это может быть целочисленное или строковое поле набора данных зоны.

Field
Входные растровые или векторные данные классов

Набор данных, определяющий классы, для которых вычисляется суммарная площадь внутри каждой зоны.

Входные данные классов могут быть представлены слоем целочисленного растра или векторным слоем.

Raster Layer; Feature Layer
Поле класса

Поле, содержащее значения классов.

Поле может быть представлено целочисленным или строковым полем входных данных классов.

Field
Выходная таблица
(Дополнительный)

Выходная таблица, которая будет содержать итоговые суммарные значения площадей каждого класса в пределах каждой зоны.

Формат таблицы определяется выходным местоположением и путем к ней. По умолчанию выходными данными будет таблица базы геоданных в рабочей области базы геоданных, и таблица dBASE, если рабочая область представляет собой папку с файлами.

Table
Размер ячейки анализа
(Дополнительный)

Размер ячейки выходного растра, который будет создан.

Этот параметр можно задать как числовым значением, так и получить из существующего набора растровых данных. Если размер ячейки не был в явном виде задан как значение параметра, будет использоваться значение размера ячейки, указанное в параметрах среды геообработки, если же и оно не указано, будут использоваться дополнительные правила вычисления размера ячейки на основе входных данных. Более подробно см. раздел об использовании.

Analysis Cell Size
Классы как строки в выходной таблице
(Дополнительный)

Указывает, как значения входного класса растра будут представлены в выходной таблице.

  • Не отмечено – классы будут представлены как поля. Используется по умолчанию.
  • Отмечено – классы будут представлены как строки.
Boolean

TabulateArea(in_zone_data, zone_field, in_class_data, class_field, {out_table}, {processing_cell_size}, {classes_as_rows})
ИмяОписаниеТип данных
in_zone_data

Набор данных, определяющий зоны.

Зоны могут быть определены слоем целочисленного растра или векторным слоем.

Raster Layer; Feature Layer
zone_field

Поле, которое содержит значения, определяющие каждую зону.

Это может быть целочисленное или строковое поле набора данных зоны.

Field
in_class_data

Набор данных, определяющий классы, для которых вычисляется суммарная площадь внутри каждой зоны.

Входные данные классов могут быть представлены слоем целочисленного растра или векторным слоем.

Raster Layer; Feature Layer
class_field

Поле, содержащее значения классов.

Поле может быть представлено целочисленным или строковым полем входных данных классов.

Field
out_table
(Дополнительный)

Выходная таблица, которая будет содержать итоговые суммарные значения площадей каждого класса в пределах каждой зоны.

Формат таблицы определяется выходным местоположением и путем к ней. По умолчанию выходными данными будет таблица базы геоданных в рабочей области базы геоданных, и таблица dBASE, если рабочая область представляет собой папку с файлами.

Table
processing_cell_size
(Дополнительный)

Размер ячейки выходного растра, который будет создан.

Этот параметр можно задать как числовым значением, так и получить из существующего набора растровых данных. Если размер ячейки не был в явном виде задан как значение параметра, будет использоваться значение размера ячейки, указанное в параметрах среды геообработки, если же и оно не указано, будут использоваться дополнительные правила вычисления размера ячейки на основе входных данных. Более подробно см. раздел об использовании.

Analysis Cell Size
classes_as_rows
(Дополнительный)

Указывает, как значения входного класса растра будут представлены в выходной таблице.

  • CLASSES_AS_FIELDSКлассы будут представлены как поля. Используется по умолчанию.
  • CLASSES_AS_ROWSКлассы будут представлены как строки.
Boolean

Пример кода

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

# Execute TabulateArea
TabulateArea(inZoneData, zoneField, inClassData, classField, outTable,
             processingCellSize)