Tabular intersección (Análisis)

Resumen

Calcula la intersección entre dos clases de entidad y realiza una tabulación cruzada del área, longitud o recuento de las entidades que se intersecan.

Ilustración

Ilustración de la herramienta Tabular intersección

Uso

  • Una zona se compone de todas las entidades del parámetro Entidades de zona de entrada que tienen los mismos valores en el parámetro Campos de zona. De forma similar, una clase se compone de todas las entidades del parámetro Entidades de clase de entrada que tienen los mismos valores en el parámetro Campos de clase. Las entidades no tienen que ser contiguas para estar en la misma zona o clase. Esta herramienta calcula cuánto de la zona se interseca por cada clase (área y porcentaje del área de zona).

  • Si no se especifica ningún valor para Campos de clase, todas las entidades del parámetro Entidades de clase de entrada se considerarán una sola clase. El valor de Tabla de salida contendrá un registro para cada zona.

  • Si se especifica un valor para Campos de clase, el valor de Tabla de salida contendrá n registros para cada zona, donde n es el número de clases dentro de esa zona. Por ejemplo, si una zona contiene cuatro clases, el valor de Tabla de salida contendrá cuatro registros para esa zona.

  • Los atributos numéricos del parámetro Entidades de clase de entrada se pueden sumar por zona con el parámetro Sumar campos. Los valores de suma de una clase representan una proporción de los valores de suma basada en el porcentaje de la clase que interseca la zona.

    Precaución:

    Utilice campos con valores absolutos (no valores normalizados relativos, como porcentajes o densidades) en Campos de suma, dado que los valores pueden dividirse y distribuirse en diferentes zonas.

  • No se admite el uso de un valor de dimensión Entidades de clase de entrada mayor que el valor de Entidades de zona de entrada.

    • Si los valores de Entidades de zona de entrada son puntos, los valores de Entidades de clase de entrada no pueden ser polígonos ni líneas.
    • Si los valores de Entidades de zona de entrada son líneas, los valores de Entidades de clase de entrada no pueden ser polígonos.

  • Si los valores de Entidades de zona de entrada y las Entidades de clase de entrada son polígonos, las estadísticas de la tabla de salida se basarán en cálculos de área.

    Si los valores de Entidades de clase de entrada son líneas, las estadísticas de la tabla de salida se basarán en cálculos lineales.

    Si los valores de Entidades de clase de entrada son puntos, las estadísticas de la tabla de salida se basarán en recuentos de entidades.

  • Si los valores de Entidades de zona de entrada y Entidades de clase de entrada presentan la misma dimensión (es decir, ambas son polígonos, líneas o puntos), el campo PERCENTAGE de salida registra el porcentaje de la entidad de zona que se interseca por la clase.

    Si los valores de Entidades de zona de entrada y Entidades de clase de entrada presentan dimensiones diferentes (zona poligonal con clase de línea, zona poligonal con clase de punto, o zona lineal con clase de punto), el campo PERCENTAGE de salida registra el porcentaje de la clase que interseca la zona poligonal.

    Es posible que el campo PERCENTAGE registre un valor porcentual superior al 100 cuando existen entidades superpuestas en los parámetros Entidades de zona de entrada o Entidades de clase de entrada.

  • El campo AREA se incluye en la tabla de salida solo si los valores de Entidades de zona de entrada y Entidades de clase de entrada son polígonos. El campo AREA contiene el área de los valores de Entidades de zona de entrada que intersecan los valores de Entidades de clase de entrada.

    El campo LENGTH se incluye en la tabla de salida si los valores de Entidades de clase de entrada son líneas. El campo LENGTH contiene la longitud de la intersección entre los valores de Entidades de zona de entrada y Entidades de clase de entrada.

    El campo PNT_COUNT se incluye en la tabla de salida si los valores de Entidades de clase de entrada son puntos. El campo PNT_COUNT contiene el número de puntos de Entidades de clase de entrada que intersecan los valores de Entidades de zona de entrada.

  • Al usar capas de entidades, si cualquiera de las entidades está seleccionada, solamente las entidades seleccionadas se usan en los cálculos.

  • La determinación de la intersección de entidades de zona y clase sigue las mismas reglas que la herramienta Intersecar.

  • Utilice la herramienta Tabla pivote para transformar el valor de Tabla de salida en una tabla que contenga un registro para cada zona, con clases de atributos como campos de atributo individuales. Rellene los parámetros de la herramienta Tabla pivote de la siguiente forma:

    • Tabla de entrada: Tabular intersección Tabla de salida
    • Campos de entrada: Tabular intersección Campos de zona
    • Campo Pivote: Tabular intersección Campos de clase
    • Campo de valor: Tabular intersección Campos de suma o AREA, LENGTH, PERCENTAGE
    Ejemplo de salida de Tabla pivote

Parámetros

EtiquetaExplicaciónTipo de datos
Entidades de zona de entrada

Las entidades utilizadas para identificar zonas.

Feature Layer
Campos de zona

El campo o los campos de atributo que se utilizará para definir zonas.

Field
Entidades de clase de entrada

Las entidades utilizadas para identificar clases.

Feature Layer
Tabla de Salida

La tabla que contendrá la tabulación cruzada de intersecciones entre zonas y clases.

Table
Campos de clase
(Opcional)

El campo o campos de atributo utilizados para definir las clases.

Field
Campos de suma
(Opcional)

Los campos que se sumarán del parámetro Entidades de clase de entrada.

Field
Tolerancia XY
(Opcional)

La distancia que determina el rango en el cual las entidades o sus vértices se consideran iguales. De forma predeterminada, es la tolerancia XY del parámetro Entidades de zona de entrada.

Precaución:

El cambio del valor de este parámetro puede generar un fallo o resultados inesperados. Se recomienda no modificar este parámetro. Se ha eliminado de la vista en el cuadro de diálogo de la herramienta. Se utiliza de forma predeterminada la propiedad tolerancia x,y de referencia espacial de la clase de entidad de entrada.

Linear Unit
Unidades de salida
(Opcional)

Especifica las unidades que se utilizarán para calcular las mediciones de área o longitud. No se admite la configuración de unidades de salida cuando las entidades de clase de entrada son puntos.

  • Desconocido—Las unidades serán desconocidas.
  • Pulgadas—Las unidades serán pulgadas.
  • Pies—Las unidades serán pies.
  • Yardas—Las unidades serán yardas.
  • Millas—Las unidades serán millas.
  • Millas náuticas—Las unidades serán millas náuticas.
  • Milímetros—Las unidades serán milímetros.
  • Centímetros—Las unidades serán centímetros.
  • Decímetros—Las unidades serán decímetros.
  • Metros—Las unidades serán metros.
  • Kilómetros—Las unidades serán kilómetros.
  • Grados decimales—Las unidades serán grados decimales.
  • Puntos—Las unidades serán puntos.
  • Áreas—Las unidades serán áreas.
  • Acres—Las unidades serán acres.
  • Hectáreas—Las unidades serán hectáreas.
  • Pulgadas cuadradas—Las unidades serán pulgadas cuadradas.
  • Pies cuadrados—Las unidades serán pies cuadrados.
  • Yardas cuadradas—Las unidades serán yardas cuadradas.
  • Millas cuadradas—Las unidades serán millas cuadradas.
  • Milímetros cuadrados—Las unidades serán milímetros cuadrados.
  • Centímetros cuadrados—Las unidades serán centímetros cuadrados.
  • Decímetros cuadrados—Las unidades serán decímetros cuadrados.
  • Metros cuadrados—Las unidades serán metros cuadrados.
  • Kilómetros cuadrados—Las unidades serán kilómetros cuadrados.
String

arcpy.analysis.TabulateIntersection(in_zone_features, zone_fields, in_class_features, out_table, {class_fields}, {sum_fields}, {xy_tolerance}, {out_units})
NombreExplicaciónTipo de datos
in_zone_features

Las entidades utilizadas para identificar zonas.

Feature Layer
zone_fields
[zone_fields,...]

El campo o los campos de atributo que se utilizará para definir zonas.

Field
in_class_features

Las entidades utilizadas para identificar clases.

Feature Layer
out_table

La tabla que contendrá la tabulación cruzada de intersecciones entre zonas y clases.

Table
class_fields
[class_fields,...]
(Opcional)

El campo o campos de atributo utilizados para definir las clases.

Field
sum_fields
[sum_fields,...]
(Opcional)

Los campos que se sumarán del parámetro in_class_features.

Field
xy_tolerance
(Opcional)

La distancia que determina el rango en el cual las entidades o sus vértices se consideran iguales. De forma predeterminada, es la tolerancia XY del parámetro in_zone_features.

Precaución:

El cambio del valor de este parámetro puede generar un fallo o resultados inesperados. Se recomienda no modificar este parámetro. Se ha eliminado de la vista en el cuadro de diálogo de la herramienta. Se utiliza de forma predeterminada la propiedad tolerancia x,y de referencia espacial de la clase de entidad de entrada.

Linear Unit
out_units
(Opcional)

Especifica las unidades que se utilizarán para calcular las mediciones de área o longitud. No se admite la configuración de unidades de salida cuando las entidades de clase de entrada son puntos.

  • UNKNOWN—Las unidades serán desconocidas.
  • INCHES—Las unidades serán pulgadas.
  • FEET—Las unidades serán pies.
  • YARDS—Las unidades serán yardas.
  • MILES—Las unidades serán millas.
  • NAUTICAL_MILES—Las unidades serán millas náuticas.
  • MILLIMETERS—Las unidades serán milímetros.
  • CENTIMETERS—Las unidades serán centímetros.
  • DECIMETERS—Las unidades serán decímetros.
  • METERS—Las unidades serán metros.
  • KILOMETERS—Las unidades serán kilómetros.
  • DECIMAL_DEGREES—Las unidades serán grados decimales.
  • POINTS—Las unidades serán puntos.
  • ARES—Las unidades serán áreas.
  • ACRES—Las unidades serán acres.
  • HECTARES—Las unidades serán hectáreas.
  • SQUARE_INCHES—Las unidades serán pulgadas cuadradas.
  • SQUARE_FEET—Las unidades serán pies cuadrados.
  • SQUARE_YARDS—Las unidades serán yardas cuadradas.
  • SQUARE_MILES—Las unidades serán millas cuadradas.
  • SQUARE_MILLIMETERS—Las unidades serán milímetros cuadrados.
  • SQUARE_CENTIMETERS—Las unidades serán centímetros cuadrados.
  • SQUARE_DECIMETERS—Las unidades serán decímetros cuadrados.
  • SQUARE_METERS—Las unidades serán metros cuadrados.
  • SQUARE_KILOMETERS—Las unidades serán kilómetros cuadrados.
String

Muestra de código

Ejemplo 1 de TabulateIntersection (ventana de Python)

Utilizar la función TabulateIntersection en la ventana de Python para buscar el área de todos los tipos de vegetación de cada zona.

import arcpy
arcpy.TabulateIntersection_analysis("Zones", "zone_id", "Vegetation", 
                                    r"C:\Esri\veganalysis.gdb\vegtypeAreas", 
                                    "VEGTYPE")
Ejemplo 2 de TabulateIntersection (secuencia de comandos independiente)

Este script abarca la función TabulateIntersection para crear una sencilla herramienta de script TabulateArea. La herramienta de secuencia de comandos TabulateArea solamente tomará entidades de polígono como entrada.

Los campos Zona y Clase están restringidos a uno cada uno.

'''
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.TabulateIntersection_analysis(zoneFC, zoneFld, classFC, outTab, 
                                        classFld, sum_Fields, xy_tol, outUnits)
except:
    arcpy.AddMessage("Tabulate Intersection Failed.")

AddMsgAndPrint(arcpy.GetMessages(), 0)

Información de licenciamiento

  • Basic: No
  • Standard: No
  • Advanced: Sí

Temas relacionados