| Подпись | Описание | Тип данных | 
| Входные объекты зон | Объекты, используемые для определения зон. | Feature Layer | 
| Поля зон | Атрибутивное поле или поля, которые будут использованы для определения зон. | Field | 
| Объекты входного класса | Объекты, используемые для идентификации классов. | Feature Layer | 
| Выходная таблица | Таблица, содержащая кросс-таблицу пересечений между зонами и классами. | Table | 
| Поля классов (Дополнительный) | Атрибутивное поле или поля, используемые для определения классов. | Field | 
| Поля суммы (Дополнительный) | Поля, которые будут суммироваться из параметра Объекты входного класса. | Field | 
| Допуск XY (Дополнительный) | Расстояние, определяющее диапазон, в котором объекты или их вершины считаются совпадающими. По умолчанию это расстояние равно значению допуска x,y Входных объектов зон. Внимание:Изменение значения этого параметра может привести к сбою или неожиданным результатам. Рекомендуется не изменять этот параметр. Он был удален из поля зрения в диалоговом окне инструмента. По умолчанию используется свойство пространственной привязки допуск x,y входного класса пространственных объектов. | Linear Unit | 
| Выходные единицы (Дополнительный) | Задает единицы измерения, которые будут использоваться для расчета площади или длины. Настройка выходных единиц не поддерживается, если объекты входного класса являются точками. 
 | String | 
Краткая информация
Вычисляет пересечение между двумя классами пространственных объектов и создает кросс-таблицы, содержащие площади, длины или число пересекающихся объектов.
Иллюстрация

Использование
- Зона включает в себя все объекты из параметра Входные объекты зон, для которых совпадают значения в параметре Поля зоны. Аналогично, класс включает в себя все объекты из параметра Объекты входного класса, для которых совпадают значения в параметре Поля класса. Объекты не обязательно должны граничить друг с другом, чтобы попасть в одну зону или класс. Этот инструмент рассчитывает, какая часть зоны пересекается каждым классом (включая площадь и процент площади зоны). 
- Если значение Поля класса не задано, все объекты из параметра Объекты входного класса будут считаться относящимися к одному классу. Значение Выходная таблица будет содержать одну запись для этой зоны. 
- Если значение Поля класса задано, то значение Выходная таблица будет содержать n записей для каждой зоны, где n – число классов внутри этой зоны. Например, если зона содержит четыре класса, значение Выходная таблица будет содержать четыре записи для этой зоны. 
- Числовые атрибуты из параметра Объекты входного класса могут суммироваться в пределах зоны с помощью параметра Поля суммирования. Суммарные значения для класса представляют пропорцию суммарных значений на основе процента класса, пересекающего зону. - Внимание:- Используйте в качестве Полей суммирования поля с абсолютными значениями (а не с относительными нормализованными значениями, как, например проценты или плотность), поскольку значения могут быть разделены и перераспределены по разным зонам. 
- Использование Объектов входного класса более высокой размерности, чем Входные объекты зоны не поддерживается. - Если значения Входные объекты зон являются точками, значения Входные объекты классов не могут быть полигонами или линиями.
- Если значения Входные объекты зон являются линиями, значения Входные объекты классов не могут быть полигонами.
 
- Если значения Входные объекты зон и Объекты входного класса являются полигонами, статистика выходной таблицы будет основана на вычислении площади. - Если значения Объекты входного класса являются линиями, статистика выходной таблицы будет основана на линейных расчетах. - Если значения Объекты входного класса являются точками, статистика выходной таблицы будет основана на подсчете объектов. 
- Если значения параметров Входные объекты зон и Объекты входного класса имеют одинаковое измерение (и те, и другие полигоны, линии или точки), в выходном поле PERCENTAGE записывается процент объекта зоны, пересекаемого классом. - Если значения Входные объекты зон и Объекты входного класса имеют разные измерения (полигональная зона с линейным классом или линейная зона с точечным классом), выходное поле PERCENTAGE будет содержать процент класса, пересекающего полигон зоны. - В поле PERCENTAGE можно записать процентное значение, превышающее 100, если есть перекрывающиеся объекты в параметрах Входные объекты зон или Объекты входного класса. 
- Выходная таблица содержит поле AREA, только если значения Входные объекты зон и Объекты входного класса являются полигонами. Поле AREA содержит площадь значений Входных объектов зон, которую пересекают значения Объекты входного класса. - Выходная таблица содержит поле LENGTH, если значения Объекты входного класса являются линиями. Поле LENGTH содержит длину пересечения между значениями Входные объекты зон и Объекты входного класса. - Выходная таблица содержит поле PNT_COUNT, если значения Объекты входного класса являются точками. Поле PNT_COUNT содержит количество точек Входных объектов класса, которые пересекают Входные объекты зоны. 
- При использовании векторных слоев, если какие-либо объекты выбраны, в расчетах используются только выбранные объекты. 
- Для определения пересечения объектов зон с объектами класса используются те же правила, что и при работе с инструментом Пересечение. 
- Используйте инструмент Сводная таблица для преобразования Выходной таблицы в таблицу, содержащую одну запись для каждой зоны с атрибутами класса в виде отдельных полей атрибутов. Заполните параметры инструмента Сводная таблица следующим образом: - Входная таблица – Таблица пересечений Выходная таблица
- Входные поля – Таблица пересечений Поля зоны
- Поле столбцов – Таблица пересечений Поля класса
- Поле значений – Таблица пересечений Поля суммирования или AREA, LENGTH PERCENTAGE
  
Параметры
arcpy.analysis.TabulateIntersection(in_zone_features, zone_fields, in_class_features, out_table, {class_fields}, {sum_fields}, {xy_tolerance}, {out_units})| Имя | Описание | Тип данных | 
| in_zone_features | Объекты, используемые для определения зон. | Feature Layer | 
| zone_fields [zone_fields,...] | Атрибутивное поле или поля, которые будут использованы для определения зон. | Field | 
| in_class_features | Объекты, используемые для идентификации классов. | Feature Layer | 
| out_table | Таблица, содержащая кросс-таблицу пересечений между зонами и классами. | Table | 
| class_fields [class_fields,...] (Дополнительный) | Атрибутивное поле или поля, используемые для определения классов. | Field | 
| sum_fields [sum_fields,...] (Дополнительный) | Поля, которые будут суммироваться из параметра in_class_features. | Field | 
| xy_tolerance (Дополнительный) | Расстояние, определяющее диапазон, в котором объекты или их вершины считаются совпадающими. По умолчанию это допуск x,y значения параметра in_zone_features. Внимание:Изменение значения этого параметра может привести к сбою или неожиданным результатам. Рекомендуется не изменять этот параметр. Он был удален из поля зрения в диалоговом окне инструмента. По умолчанию используется свойство пространственной привязки допуск x,y входного класса пространственных объектов. | Linear Unit | 
| out_units (Дополнительный) | Задает единицы измерения, которые будут использоваться для расчета площади или длины. Настройка выходных единиц не поддерживается, если объекты входного класса являются точками. 
 | String | 
Пример кода
Используйте функцию TabulateIntersection в окне Python для определения площади, занимаемой каждым типом растительности в каждой зоне.
import arcpy
arcpy.analysis.TabulateIntersection("Zones", "zone_id", "Vegetation", 
                                    r"C:\Esri\veganalysis.gdb\vegtypeAreas", 
                                    "VEGTYPE")Этот скрипт запускает функцию TabulateIntersection, позволяющую создать простой инструмент-скрипт TabulateArea. Инструмент-скрипт TabulateArea принимает в качестве входных данных только полигональные объекты.
В полях Зона и Класс можно ввести только по одному значению.
'''
TabulateArea.py
Description: Shows how to wrap the TabulateIntersection tool to create a TabulateArea script tool
Requirements: Polygon Zone Feature Class, Polygon Class Feature Class
'''
import arcpy
import sys
import os
def AddMsgAndPrint(msg, severity=0):
    # Adds a Message (in case this is run as a tool)
    # and also prints the message to the screen (standard output)
    print(msg)
    # Split the message on \n first, so that if it's multiple lines, 
    # a GPMessage will be added for each line
    try:
        for string in msg.split('\n'):
            # Add appropriate geoprocessing message 
            if severity == 0:
                arcpy.AddMessage(string)
            elif severity == 1:
                arcpy.AddWarning(string)
            elif severity == 2:
                arcpy.AddError(string)
    except:
        pass
## Get Parameters
zoneFC = arcpy.GetParameterAsText(0)
zoneFld = arcpy.GetParameterAsText(1) # Only allow one field
classFC = arcpy.GetParameterAsText(2)
outTab = arcpy.GetParameterAsText(3)
classFld = arcpy.GetParameterAsText(4) # Optional and only allow one field
sum_Fields = ""
xy_tol = ""
outUnits = arcpy.GetParameterAsText(5)
## Validate parameters
# Inputs can only be polygons
zoneDesc = arcpy.Describe(zoneFC)
classDesc = arcpy.Describe(classFC)
if zoneDesc.shapeType != "Polygon" or classDesc.shapeType != "Polygon":
    AddMsgAndPrint("Inputs must be of type polygon.", 2)
    sys.exit()
    
# Only one zone field and class field
if zoneFld != "":
    if zoneFld.find(";") > -1 or classFld.find(";") > -1:
        AddMsgAndPrint("A maximum of one zone and/or class field is allowed.", 2)
        sys.exit()
# Run TabulateIntersection
try:
    arcpy.analysis.TabulateIntersection(zoneFC, zoneFld, classFC, outTab, 
                                        classFld, sum_Fields, xy_tol, outUnits)
except:
    arcpy.AddMessage("Tabulate Intersection Failed.")
AddMsgAndPrint(arcpy.GetMessages(), 0)Параметры среды
Информация о лицензиях
- Basic: Нет
- Standard: Нет
- Advanced: Да