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.

  • DesconocidoLas unidades serán desconocidas.
  • PulgadasLas unidades serán pulgadas.
  • PiesLas unidades serán pies.
  • YardasLas unidades serán yardas.
  • MillasLas unidades serán millas.
  • Millas náuticasLas unidades serán millas náuticas.
  • MilímetrosLas unidades serán milímetros.
  • CentímetrosLas unidades serán centímetros.
  • DecímetrosLas unidades serán decímetros.
  • MetrosLas unidades serán metros.
  • KilómetrosLas unidades serán kilómetros.
  • Grados decimalesLas unidades serán grados decimales.
  • PuntosLas unidades serán puntos.
  • ÁreasLas unidades serán áreas.
  • AcresLas unidades serán acres.
  • HectáreasLas unidades serán hectáreas.
  • Pulgadas cuadradasLas unidades serán pulgadas cuadradas.
  • Pies cuadradosLas unidades serán pies cuadrados.
  • Yardas cuadradasLas unidades serán yardas cuadradas.
  • Millas cuadradasLas unidades serán millas cuadradas.
  • Milímetros cuadradosLas unidades serán milímetros cuadrados.
  • Centímetros cuadradosLas unidades serán centímetros cuadrados.
  • Decímetros cuadradosLas unidades serán decímetros cuadrados.
  • Metros cuadradosLas unidades serán metros cuadrados.
  • Kilómetros cuadradosLas 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.

  • UNKNOWNLas unidades serán desconocidas.
  • INCHESLas unidades serán pulgadas.
  • FEETLas unidades serán pies.
  • YARDSLas unidades serán yardas.
  • MILESLas unidades serán millas.
  • NAUTICAL_MILESLas unidades serán millas náuticas.
  • MILLIMETERSLas unidades serán milímetros.
  • CENTIMETERSLas unidades serán centímetros.
  • DECIMETERSLas unidades serán decímetros.
  • METERSLas unidades serán metros.
  • KILOMETERSLas unidades serán kilómetros.
  • DECIMAL_DEGREESLas unidades serán grados decimales.
  • POINTSLas unidades serán puntos.
  • ARESLas unidades serán áreas.
  • ACRESLas unidades serán acres.
  • HECTARESLas unidades serán hectáreas.
  • SQUARE_INCHESLas unidades serán pulgadas cuadradas.
  • SQUARE_FEETLas unidades serán pies cuadrados.
  • SQUARE_YARDSLas unidades serán yardas cuadradas.
  • SQUARE_MILESLas unidades serán millas cuadradas.
  • SQUARE_MILLIMETERSLas unidades serán milímetros cuadrados.
  • SQUARE_CENTIMETERSLas unidades serán centímetros cuadrados.
  • SQUARE_DECIMETERSLas unidades serán decímetros cuadrados.
  • SQUARE_METERSLas unidades serán metros cuadrados.
  • SQUARE_KILOMETERSLas 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