Agregar unión (Administración de datos)

Resumen

Une una capa a otra capa o tabla basándose en un campo común. Se admiten capas de entidades, vistas de tabla y capas ráster con una tabla de atributos ráster.

Los registros de la Tabla a unir se hacen coincidir con los registros de la Tabla de entrada. Cuando los valores del campo de unión de entrada y del campo de tabla a unir son iguales, se produce una coincidencia. Esta unión es temporal.

Ilustración

Agregar unión

Uso

  • La entrada debe ser una capa de entidades, una vista de tabla o una capa ráster con una tabla de atributos.

  • Si la entrada es una clase de entidad o una ruta de dataset, esta herramienta creará y devolverá automáticamente una nueva capa con el resultado de la herramienta aplicada.

  • Los registros de la Tabla a unir se pueden hacen concordar con más de un registro en la capa o vista de tabla de entrada.

  • Cuando une tablas, la opción predeterminada es mantener todos los registros. Si un registro de la tabla objetivo no coincide con otro en la tabla de unión, se establecen valores nulos determinados en ese registro para todos los campos que se anexan a la tabla de destino desde la tabla de unión.

    Ejemplo de mantener todos los registros con una unión

    Con la opción de conservar únicamente los registros coincidentes, si un registro de la tabla de destino no tiene una coincidencia en la tabla de unión, ese registro se quita de la tabla de destino resultante. Si la tabla objetivo es la tabla de atributos de una capa, las entidades que no tienen datos unidos no se muestran en el mapa.

    Ejemplo de mantener sólo los registros que coinciden con una unión

  • La capa o vista de tabla de entrada debe tener un campo ObjectID. La Tabla a unir no necesita contener un campo ObjectID.

  • Las propiedades de campos, tales como los alias, la visibilidad y el formato de número se mantienen cuando se agrega o se quita una unión.

  • Si una unión con el mismo nombre de tabla ya existe, por ejemplo, si la capa A está unida a una tabla B, al ejecutar nuevamente la herramienta para unir la tabla B dará como resultado una advertencia de que la unión ya existe.

  • La unión permanece solo por lo que dure la sesión. Para conservar la unión y utilizarla en otra sesión, guarde la capa en un archivo de capa, con la herramienta Guardar en archivo de capa. Esto solo se aplica a las capas; las vistas de tablas no se pueden guardar de esta forma.

  • En la capa o vista de tabla resultante, los campos de la capa o vista de tabla de entrada recibirán de prefijo el nombre de la entrada y un punto (.) y, por defecto, todos los campos de la tabla a unir recibirán de prefijo el nombre de la tabla a unir más un punto.

    • Por ejemplo, al unir landuse, que tiene campos A y B a lookup_tab, que tiene campos C y D, se generará una capa o una vista de tabla con los siguientes campos: landuse.A, landuse.B, lookup_tab.C y lookup_tab.D.
    • Para las clases de entidad de cobertura y tablas INFO, el separador de tabla y nombre de campo es dos puntos (:) en lugar de un punto.

  • Para hacer una unión permanente, puede utilizar la herramienta Campo de unión. Otra forma de hacer que la unión sea permanente es guardar la capa de entidad unida en una nueva clase de entidad o la vista de tabla unida en una nueva tabla. Al guardar los resultados en una nueva clase de entidad o tabla, puede utilizar la configuración de entorno Nombres de campos calificados para controlar si los nombres de campos de salida unidos están calificados con el nombre de la tabla de la que procede el campo.

  • Indexar los campos de la capa o vista de tabla de entrada y de la Tabla a unir sobre la que se basará la unión puede mejorar el rendimiento. Esto se puede realizar con la herramienta Agregar índice de atributos.

  • Si los campos de la capa o vista de tabla de entrada se modifican (se les cambia el nombre o se ocultan) con el parámetro Información de campo de las herramientas Crear capa de entidades o Crear vista de tabla, estas modificaciones de campos no se trasladarán a la capa o vista de tabla unida de salida.

  • La consulta de definición de la Tabla de unión se aplicará a la capa o vista de tabla de entrada. La consulta de definición se puede eliminar con la herramienta Quitar unión o quitando manualmente la consulta de definición de la capa.

  • La herramienta Validar unión se puede utilizar para validar una unión entre dos capas o tablas con el fin de determinar si las capas o tablas tienen nombres de campo y campos ObjectID válidos, si la unión produce registros coincidentes, si es una unión de uno a uno o de uno a muchos y otras propiedades de la unión.

    El cuadro de diálogo de esta herramienta contiene un botón para validar la unión que facilita esta operación.

Sintaxis

AddJoin(in_layer_or_view, in_field, join_table, join_field, {join_type})
ParámetroExplicaciónTipo de datos
in_layer_or_view

Capa o vista de tabla a la que se unirá la tabla a unir.

Mosaic Layer; Raster Layer; Table View
in_field

Campo en la capa o vista de tabla de entrada sobre el que se basará la unión.

Field
join_table

Tabla o vista de tabla que se unirá a la capa o vista de tabla de entrada.

Mosaic Layer; Raster Layer; Table View
join_field

El campo en la tabla a unir que contiene los valores sobre los cuales se basará la unión.

Field
join_type
(Opcional)

Especifica si la salida solo incluirá los registros de la entrada que coinciden con un registro de la tabla a unir.

  • KEEP_ALLTodos los registros en la capa o vista de tabla de entrada se incluirán en la salida; también conocida como una unión externa. Esta es la opción predeterminada.
  • KEEP_COMMONLos registros de la entrada que concuerden con una fila de la tabla a unir serán los únicos que se incluyan en el salida; esto también se conoce como unión interna.
Boolean

Salida derivada

NombreExplicaciónTipo de datos
out_layer_or_view

El dataset de entrada actualizado.

Vista de tabla; Capa ráster; Capa de mosaico

Muestra de código

Ejemplo 1 AddJoin (ventana de Python)

El siguiente script de la ventana de Python demuestra cómo utilizar la función AddJoin en modo inmediato.

import arcpy
arcpy.env.workspace = "C:/data/Habitat_Analysis.gdb"
veg_joined_table = arcpy.AddJoin_management("vegetation", "HOLLAND95", 
                                            "vegtable", "HOLLAND95")
arcpy.CopyFeatures_management(veg_joined_table, "vegjoin")
Ejemplo 2 de AddJoin (script independiente)

Este script independiente muestra la función AddJoin como parte de un flujo de trabajo para unir una tabla a una clase de entidad y después extraer las entidades deseadas.

# Name: AttributeSelection.py
# Purpose: Join a table to a featureclass and select the desired attributes
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data/Habitat_Analysis.gdb"
arcpy.env.qualifiedFieldNames = False
# Set local variables
inFeatures = "vegtype"
joinTable = "vegtable"
joinField = "HOLLAND95"
expression = "vegtable.HABITAT = 1"
outFeature = "vegjoin"
# Join the feature layer to a table
veg_joined_table = arcpy.AddJoin_management(inFeatures, joinField, joinTable, 
                                            joinField)
# Select desired features from veg_layer
arcpy.SelectLayerByAttribute_management(veg_joined_table, "NEW_SELECTION", 
                                        expression)
# Copy the layer to a new permanent feature class
arcpy.CopyFeatures_management(veg_joined_table, outFeature)

Información de licenciamiento

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

Temas relacionados