Agregar unión espacial (Administración de datos)

Resumen

Une los atributos de una entidad con otra basada en la relación espacial. Las entidades de destino y los atributos unidos de las entidades de unión se unirán.

Consulte Ejemplos gráficos de Seleccionar por ubicación para obtener más información.

Uso

  • Los atributos unidos se agregan y guardan como una copia separada. Cualquier actualización de los datos unidos no se reflejará porque son estáticas. Para actualizar los datos, elimine la unión y ejecute la herramienta otra vez.

  • La herramienta crea los campos siguientes:

    • Join_Count: el número de entidades de unión que coinciden con cada entidad de destino
    • TARGET_FID: el Id. de objeto de la entidad de destino

  • Esta herramienta no permite la unión de uno a muchos. Para realizar una unión de uno a varios, utilice la herramienta Unión espacial.

  • De forma predeterminada, todos los atributos de las entidades de unión se unirán a los atributos de las entidades de destino. Puede definir qué atributos serán en la salida unida utilizando el parámetro Mapa de campo.

  • Use el parámetro Mapa de campo para gestionar los campos y su contenido en el dataset de salida.

    • Añada y elimine campos de la lista de campos, reordene la lista de campos y cambie el nombre de los campos.
    • El tipo de datos predeterminado de un campo de salida coincide con el tipo de datos del primer campo de entrada (de ese nombre) que encuentre. Puede cambiar el tipo de datos a otro tipo de datos válido.
    • Use una acción para determinar cómo los valores de uno o varios campos de entrada se mezclarán en un solo campo de salida. Las acciones disponibles son Primera, Última, Concatenación, Suma, Valor medio, Mediana, Modo, Mínimo, Máximo, Desviación estándar y Recuento.
    • Al usar la acción Concatenar, pude especificar un delimitador tal como una coma u otro carácter. Haga clic en el inicio del cuadro de texto Delimitador para añadir los caracteres delimitadores.
    • Desviación estándar no es una opción válida para los valores de entrada únicos.
    • Use el botón Trocear texto en los campos de origen de texto para seleccionar qué caracteres de un valor de entrada se extraerán al campo de salida. Para acceder al botón Trocear texto, pase el cursor del ratón por encima de un campo de texto de la lista de campos de entrada; a continuación, especifique las posiciones de los caracteres de inicio y fin.
    • Los campos también se pueden asignar mediante scripts de Python.

  • Las acciones especificadas en el parámetro Mapa de campo solo se aplican a los atributos de las entidades de unión y cuando se coteja más de una entidad con una entidad de destino (cuando Join_Count > 1). Por ejemplo, si tres entidades con valores de atributo DEPTH de 15,5, 2,5 y 3,3 se unen, y se aplica la acción Valor medio, el campo de salida tendrá un valor de 6,1. Los valores nulos en los campos de unión se ignoran para el cálculo de estadísticas. Por ejemplo, 15,5, un valor nulo, y 2,5 resultará en 9,0 para Valor medio y 2 para Recuento.

  • Cuando el parámetro Opción de coincidencia se configura en Más cercano o Geodésico más cercano, es posible que dos o más entidades de unión estén a la misma distancia de la entidad de destino. Cuando esto ocurre, una de las entidades de unión se seleccionará de forma aleatoria como la entidad coincidente (el Id. de objeto de la entidad de unión no afecta a esta selección aleatoria). Para encontrar la segunda, tercera o enésima entidad más cercana, utilice la herramienta Genera tabla de cercanía.

    Más información acerca del cálculo de la proximidad

  • Si el parámetro Unir campos permanentemente está activado, todos los registros del conjunto de datos de destino se conservarán aunque el parámetro Mantener todas las características de destino no esté marcado.

  • Si una entidad de unión tiene una relación espacial con varias entidades de destino, se contará tantas veces como coincidencias haya con la entidad de destino. Por ejemplo, si un punto está dentro de tres polígonos, el punto se contará tres veces, una vez por cada polígono.

  • Para obtener más información sobre el uso de las relaciones espaciales Intersecar 3D y Dentro de una distancia 3D, consulte Seleccionar por ubicación: relaciones 3D.

Parámetros

EtiquetaExplicaciónTipo de datos
Entidades de destino

Los atributos de las entidades de destino y los atributos de las entidades de unión se unirán a la capa de entidades de destino. Sin embargo, se puede definir un subconjunto de atributos con el parámetro Mapa de campo.

Feature Layer
Unir entidades

Los atributos de las entidades de unión se unirán a los atributos de las entidades de destino. Consulte la explicación del parámetro Operación de unión para obtener detalles sobre cómo la agregación de atributos unidos se ve afectada por el tipo de operación de unión.

Feature Layer
Operación Unión
(Opcional)

Este parámetro está oculto y no se admite. Todas las uniones se realizarán como unión de uno a uno.

Para que se realice una unión de uno a muchos cuando la salida se cree en una clase de entidad de salida, utilice la herramienta Unión espacial.

String
Mantener todas las entidades destino
(Opcional)

Especifica si solo se conservarán las entidades de destino con una relación espacial con una entidad de unión (conocida como una unión interna) o si se conservarán todas las entidades de destino, incluso sin una relación espacial con las entidades de unión (conocida como una unión externa).

  • Activado: se conservarán todas las entidades de la capa de entidades de destino. Esta es la opción predeterminada.
  • Desactivado: solo se conservarán las entidades de la capa de entidades de destino con una relación espacial con una entidad de unión.
Boolean
Mapa de campo
(Opcional)

Los campos que se unirán temporalmente al dataset de destino con sus respectivas propiedades y campos de origen. Todos los campos del dataset de unión se incluirán de manera predeterminada.

Use el campo de mapa para añadir, borrar, cambiar el nombre y reordenar los campos, así como para cambiar otras propiedades de los campos.

El mapa de campo puede usarse para combinar valores de dos o más campos de entrada en un solo campo de salida.

Field Mappings
Opción de correspondencia
(Opcional)

Especifica los criterios que se utilizarán para la correspondencia de filas.

  • IntersecarLas entidades de las entidades de unión se harán coincidir si se intersecan con una entidad objetivo. Esta es la opción predeterminada. Especifique la distancia en el parámetro Radio de búsqueda.
  • Intersecar 3DLas entidades de las entidades de unión se ajustarán si se intersecan con una entidad objetivo en el espacio tridimensional (x, y, z). Especifique la distancia en el parámetro Radio de búsqueda.
  • Dentro de una distanciaLas entidades en las entidades de unión se harán coincidir si están dentro de una distancia especificada de una entidad objetivo. Especifique la distancia en el parámetro Radio de búsqueda.
  • Dentro de una distancia geodésicaEs lo mismo que Dentro de una distancia, excepto que se utiliza una distancia geodésica en vez de una distancia planar. La distancia entre las entidades se calculará utilizando una fórmula geodésica que tiene en cuenta la curvatura del esferoide y trata correctamente los datos de los polos y la línea de cambio de fecha y los cercanos a estos. Utilice esta opción si los datos cubren una gran extensión geográfica o si el sistema de coordenadas de las entradas no es adecuado para los cálculos de distancia.
  • Dentro de una distancia 3DLas entidades en las entidades de unión se harán coincidir si están dentro a una distancia especificada de una entidad de destino en espacio tridimensional. Especifique la distancia en el parámetro Radio de búsqueda.
  • ContieneLas entidades en las entidades de unión se harán coincidir si una entidad de destino las contiene. Las entidades objetivo deben ser polilíneas o polígonos. Para esta opción, las entidades de destino no pueden ser puntos y las entidades de unión sólo pueden ser polígonos cuando las entidades de destino también son polígonos.
  • Contiene completamenteLas entidades en las entidades de unión se harán coincidir si una entidad de destino las contiene completamente. Un polígono puede contener completamente cualquier entidad. Un punto no puede contener completamente cualquier entidad, ni siquiera un punto. Una polilínea puede contener completamente solo entidades de polilínea y punto.
  • Contiene ClementiniEsta relación espacial produce los mismos resultados que Contiene completamente, excepto si la entidad de unión está completamente sobre el límite de la entidad objetivo (ninguna parte se encuentra totalmente dentro o fuera), la entidad no se hará coincidir. Clementini define el polígono de límite como la línea que separa el interior del exterior; el límite de una línea se define como sus extremos y el límite de un punto siempre está vacío.
  • Dentro deLas entidades en las entidades de unión se harán coincidir si una entidad de destino está dentro de ellas. Es contrario a Contiene. Para esta opción, las entidades de destino solo pueden ser polígonos cuando las entidades de unión también son polígonos. Un punto solo puede ser entidad de unión si el punto es el objetivo.
  • Completamente dentroLas entidades en las entidades de unión se harán coincidir si una entidad objetivo las contiene completamente. Esto es contrario a Contiene completamente.
  • Dentro de ClementiniEl resultado será idéntico a Dentro de excepto si la totalidad de la entidad de las entidades de unión está sobre el límite de la entidad de destino, la entidad no se cotejará. Clementini define el polígono de límite como la línea que separa el interior del exterior; el límite de una línea se define como sus extremos y el límite de un punto siempre está vacío.
  • Son idénticos aLas entidades en las entidades de unión se harán coincidir si son idénticas a una entidad objetivo. Tanto la entidad de unión como la de destino deben ser del mismo tipo de forma, punto a punto, línea a línea o polígono a polígono.
  • Toca el límiteLas entidades de las entidades de unión se harán coincidir si tienen un límite que toca a una entidad objetivo. Cuando las entidades de unión y de destino son líneas o polígonos, el límite de la entidad de unión solo puede tocar el límite de la entidad de destino y ninguna parte de la entidad de unión puede cruzar el límite de la entidad de destino.
  • Comparten un segmento de línea conLas entidades de las entidades de unión se harán coincidir si comparten un segmento de línea con una entidad objetivo. Las entidades de unión y de destino deben ser líneas o polígonos.
  • Cruzado por el contorno deLas entidades en las entidades de unión se harán coincidir si una entidad de destino está cruzada por su contorno. Las entidades de unión y de destino deben ser líneas o polígonos. Si se utilizan polígonos para las entidades objetivo o de unión, se utilizarán los límites (las líneas) del polígono. Se harán coincidir las líneas que se cruzan en un punto, no las que comparten un segmento de línea.
  • Tienen su centro enLas entidades en las entidades de unión se harán coincidir si el centro de una entidad objetivo está dentro de las mismas. El centro de la entidad se calcula del modo siguiente: para los polígonos y los multipuntos se utiliza el centroide de la geometría, y para la entrada de línea se utiliza el punto medio de la geometría. Especifique la distancia en el parámetro Radio de búsqueda.
  • Más cercanoSe hará coincidir la entidad en las entidades de unión que está más cerca de una entidad de destino. Consulte la sugerencia de uso para obtener más información. Especifique la distancia en el parámetro Radio de búsqueda.
  • Geodésico más cercanoEs lo mismo que Más cercano, excepto que se utiliza una distancia geodésica en vez de una distancia planar. Utilice esta opción si los datos cubren una gran extensión geográfica o si el sistema de coordenadas de las entradas no es adecuado para los cálculos de distancia.
  • Mayor superposiciónLa entidad de las entidades de unión se hará coincidir con la entidad de destino con mayor superposición.
String
Radio de búsqueda
(Opcional)

Las entidades de unión que se encuentren dentro de esta distancia de una entidad de destino se considerarán para la unión espacial. El radio de búsqueda solo es válido cuando se especifica la relación espacial (el parámetro Opción de coincidencia se configura en Intersecar, Dentro de una distancia, Dentro de una distancia geodésica, Tienen su centro en, Más cercano o Geodésico más cercano). Por ejemplo, si se utiliza un radio de búsqueda de 100 metros con la relación espacial Dentro de una distancia, se unirá la entidad que se encuentre dentro de un radio de 100 metros de una entidad de destino. En las tres relaciones Dentro de una distancia, si no se especifica ningún valor en Radio de Búsqueda, se utiliza una distancia de 0.

Linear Unit
Nombre de campo de distancia
(Opcional)

El nombre del campo que contiene la distancia entre la entidad de destino y la entidad de unión más cercana. Este campo se agregará a la unión. Esta opción solo es válida si se ha especificado la relación espacial (Opción de coincidencia se configura en Más cercano o Geodésico más cercano). El valor de este campo es -1 si no coincide ninguna entidad dentro de un radio de búsqueda. Si no se proporciona ningún nombre de campo, el campo no se agregará a la unión.

String
Unir campos permanentemente
(Opcional)

Especifica si los campos de la clase de entidad de unión se agregarán temporalmente a la capa o permanentemente a la clase de entidad de destino.

  • Desactivado: los campos de la clase de entidad de la unión se agregarán temporalmente a la capa mediante una unión interna. Esta es la opción predeterminada.
  • Activado: los campos de la clase de entidad unida se agregarán permanentemente a la clase de entidad de destino.
Boolean
Campos de coincidencia
(Opcional)

Pares de campos de las entidades de unión y las entidades de destino que se utilizarán para la coincidencia de atributos. Solo los registros de las entidades de unión que compartan valores de campo coincidentes con las entidades de destino participarán en la unión espacial.

Value Table

Salida derivada

EtiquetaExplicaciónTipo de datos
Entidades de destino actualizadas

El dataset de entrada actualizado.

Feature Layer

arcpy.management.AddSpatialJoin(target_features, join_features, {join_operation}, {join_type}, {field_mapping}, {match_option}, {search_radius}, {distance_field_name}, {permanent_join}, {match_fields})
NombreExplicaciónTipo de datos
target_features

Los atributos de las entidades de destino y los atributos de las entidades de unión se unirán a la capa de entidades de destino. Sin embargo, se puede definir un subconjunto de atributos con el parámetro field_mapping.

Feature Layer
join_features

Los atributos de las entidades de unión se unirán a los atributos de las entidades de destino. Consulte la explicación del parámetro join_operation para obtener detalles sobre cómo la agregación de atributos unidos se ve afectada por el tipo de operación de unión.

Feature Layer
join_operation
(Opcional)

No se admite este parámetro. Todas las uniones se realizarán como unión de uno a uno. Si está utilizando argumentos de posición en Python, use un tipo None, una cadena de caracteres vacía ("" o '') o la palabra clave JOIN_ONE_TO_ONE.

Para que se realice una unión de uno a muchos cuando la salida se cree en una clase de entidad de salida, utilice la herramienta Unión espacial.

String
join_type
(Opcional)

Especifica si solo se conservarán las entidades de destino con una relación espacial con una entidad de unión (conocida como una unión interna) o si se conservarán todas las entidades de destino, incluso sin una relación espacial con las entidades de unión (conocida como una unión externa).

  • KEEP_ALLSe conservarán todas las entidades de la capa de entidades de destino. Se conoce como unión externa. Esta es la opción predeterminada.
  • KEEP_COMMONSolo se conservarán las entidades de la capa de entidades de destino con una relación espacial con una entidad de unión. Se conoce como unión interna.
Boolean
field_mapping
(Opcional)

Los campos que se unirán temporalmente al dataset de destino con sus respectivas propiedades y campos de origen. Todos los campos del dataset de unión se incluirán de manera predeterminada.

Use el campo de mapa para añadir, borrar, cambiar el nombre y reordenar los campos, así como para cambiar otras propiedades de los campos.

El mapa de campo puede usarse para combinar valores de dos o más campos de entrada en un solo campo de salida.

En Python, utilice la clase de FieldMappings para definir este parámetro.

Field Mappings
match_option
(Opcional)

Especifica los criterios que se utilizarán para la correspondencia de filas.

  • INTERSECTLas entidades de las entidades de unión se harán coincidir si se intersecan con una entidad objetivo. Esta es la opción predeterminada. Especifique la distancia en el parámetro search_radius.
  • INTERSECT_3DLas entidades de las entidades de unión se ajustarán si se intersecan con una entidad objetivo en el espacio tridimensional (x, y, z). Especifique la distancia en el parámetro search_radius.
  • WITHIN_A_DISTANCELas entidades en las entidades de unión se harán coincidir si están dentro de una distancia especificada de una entidad objetivo. Especifique la distancia en el parámetro search_radius.
  • WITHIN_A_DISTANCE_GEODESICEs lo mismo que WITHIN_A_DISTANCE, excepto que se utiliza una distancia geodésica en vez de una distancia planar. La distancia entre las entidades se calculará utilizando una fórmula geodésica que tiene en cuenta la curvatura del esferoide y trata correctamente los datos de los polos y la línea de cambio de fecha y los cercanos a estos. Utilice esta opción si los datos cubren una gran extensión geográfica o si el sistema de coordenadas de las entradas no es adecuado para los cálculos de distancia.
  • WITHIN_A_DISTANCE_3DLas entidades en las entidades de unión se harán coincidir si están dentro a una distancia especificada de una entidad de destino en espacio tridimensional. Especifique la distancia en el parámetro search_radius.
  • CONTAINSLas entidades en las entidades de unión se harán coincidir si una entidad de destino las contiene. Las entidades objetivo deben ser polilíneas o polígonos. Para esta opción, las entidades de destino no pueden ser puntos y las entidades de unión sólo pueden ser polígonos cuando las entidades de destino también son polígonos.
  • COMPLETELY_CONTAINSLas entidades en las entidades de unión se harán coincidir si una entidad de destino las contiene completamente. Un polígono puede contener completamente cualquier entidad. Un punto no puede contener completamente cualquier entidad, ni siquiera un punto. Una polilínea puede contener completamente solo entidades de polilínea y punto.
  • CONTAINS_CLEMENTINIEsta relación espacial produce los mismos resultados que COMPLETELY_CONTAINS, excepto si la entidad de unión está completamente sobre el límite de la entidad objetivo (ninguna parte se encuentra totalmente dentro o fuera), la entidad no se hará coincidir. Clementini define el polígono de límite como la línea que separa el interior del exterior; el límite de una línea se define como sus extremos y el límite de un punto siempre está vacío.
  • WITHINLas entidades en las entidades de unión se harán coincidir si una entidad de destino está dentro de ellas. Es opuesto a CONTAINS. Para esta opción, las entidades de destino solo pueden ser polígonos cuando las entidades de unión también son polígonos. Un punto solo puede ser entidad de unión si el punto es el objetivo.
  • COMPLETELY_WITHINLas entidades en las entidades de unión se harán coincidir si una entidad objetivo las contiene completamente. Es opuesto a COMPLETELY_CONTAINS.
  • WITHIN_CLEMENTINIEl resultado será idéntico a WITHIN si la totalidad de la entidad de las entidades de unión está sobre el límite de la entidad de destino, la entidad no se hará coincidir. Clementini define el polígono de límite como la línea que separa el interior del exterior; el límite de una línea se define como sus extremos y el límite de un punto siempre está vacío.
  • ARE_IDENTICAL_TOLas entidades en las entidades de unión se harán coincidir si son idénticas a una entidad objetivo. Tanto la entidad de unión como la de destino deben ser del mismo tipo de forma, punto a punto, línea a línea o polígono a polígono.
  • BOUNDARY_TOUCHESLas entidades de las entidades de unión se harán coincidir si tienen un límite que toca a una entidad objetivo. Cuando las entidades de unión y de destino son líneas o polígonos, el límite de la entidad de unión solo puede tocar el límite de la entidad de destino y ninguna parte de la entidad de unión puede cruzar el límite de la entidad de destino.
  • SHARE_A_LINE_SEGMENT_WITHLas entidades de las entidades de unión se harán coincidir si comparten un segmento de línea con una entidad objetivo. Las entidades de unión y de destino deben ser líneas o polígonos.
  • CROSSED_BY_THE_OUTLINE_OFLas entidades en las entidades de unión se harán coincidir si una entidad de destino está cruzada por su contorno. Las entidades de unión y de destino deben ser líneas o polígonos. Si se utilizan polígonos para las entidades objetivo o de unión, se utilizarán los límites (las líneas) del polígono. Se harán coincidir las líneas que se cruzan en un punto, no las que comparten un segmento de línea.
  • HAVE_THEIR_CENTER_INLas entidades en las entidades de unión se harán coincidir si el centro de una entidad objetivo está dentro de las mismas. El centro de la entidad se calcula del modo siguiente: para los polígonos y los multipuntos se utiliza el centroide de la geometría, y para la entrada de línea se utiliza el punto medio de la geometría. Especifique la distancia en el parámetro search_radius.
  • CLOSESTSe hará coincidir la entidad en las entidades de unión que está más cerca de una entidad de destino. Consulte la sugerencia de uso para obtener más información. Especifique la distancia en el parámetro search_radius.
  • CLOSEST_GEODESICEs lo mismo que CLOSEST, excepto que se utiliza una distancia geodésica en vez de una distancia planar. Utilice esta opción si los datos cubren una gran extensión geográfica o si el sistema de coordenadas de las entradas no es adecuado para los cálculos de distancia.
  • LARGEST_OVERLAPLa entidad de las entidades de unión se hará coincidir con la entidad de destino con mayor superposición.
String
search_radius
(Opcional)

Las entidades de unión que se encuentren dentro de esta distancia de una entidad de destino se considerarán para la unión espacial. El radio de búsqueda solo es válido cuando se especifica la relación espacial (el parámetro match_option está establecido en INTERSECT, WITHIN_A_DISTANCE, WITHIN_A_DISTANCE_GEODESIC, HAVE_THEIR_CENTER_IN, CLOSEST o CLOSEST_GEODESIC). Por ejemplo, si se utiliza un radio de búsqueda de 100 metros con la relación espacial WITHIN_A_DISTANCE, se unirá la entidad que se encuentre dentro de un radio de 100 metros de una entidad de destino. En las tres relaciones Dentro de una distancia, si no se especifica ningún valor para search_radius, se utiliza una distancia de 0.

Linear Unit
distance_field_name
(Opcional)

El nombre del campo que contiene la distancia entre la entidad de destino y la entidad de unión más cercana. Este campo se agregará a la unión. Este parámetro solo es válido cuando se especifica la relación espacial (match_option está establecido como CLOSEST o CLOSEST_GEODESIC). El valor de este campo es -1 si no coincide ninguna entidad dentro de un radio de búsqueda. Si no se proporciona ningún nombre de campo, el campo no se agregará a la unión.

String
permanent_join
(Opcional)

Especifica si los campos de la clase de entidad de unión se agregarán temporalmente a la capa o permanentemente a la clase de entidad de destino.

  • NO_PERMANENT_FIELDSLos campos de la clase de entidad unida se agregarán temporalmente a la capa mediante una unión interna. Esta es la opción predeterminada.
  • PERMANENT_FIELDSLos campos de la clase de entidad unida se agregarán permanentemente a la clase de entidad de destino.
Boolean
match_fields
[[join_field, target_field],...]
(Opcional)

Pares de campos de las entidades de unión y las entidades de destino que se utilizarán para la coincidencia de atributos. Solo los registros de las entidades de unión que compartan valores de campo coincidentes con las entidades de destino participarán en la unión espacial.

Value Table

Salida derivada

NombreExplicaciónTipo de datos
out_feature_class

El dataset de entrada actualizado.

Feature Layer

Muestra de código

Ejemplo 1 de AddSpatialJoin (script independiente)

La siguiente secuencia de comandos Pythonindependiente muestra cómo utilizar la función AddSpatialJoin en una secuencia de comandos independiente.

import os
import arcpy
arcpy.env.overwriteOutput = True

# Create hexagons
out_gdb = arcpy.env.scratchGDB
hex_fc = os.path.join(out_gdb, 'out_fc_hex_2')

arcpy.management.GenerateTessellation(
    hex_fc, '-10823285.769168 4836611.80759869 -10781728.9441187 4856999.87422328', 
    'HEXAGON', '17269676,2624 Unknown', arcpy.SpatialReference(3857))

# Create 2 random points in each hexagon
count_pts = 2
pts_fc = arcpy.management.CreateRandomPoints(
    out_gdb, 'out_fc_crp_2', constraining_feature_class=hex_fc, 
    number_of_points_or_field=count_pts)[0]

# Join the point attributes based on points within the hexagons
result = arcpy.management.AddSpatialJoin(
    hex_fc, pts_fc, None, None, 'CID', 'COMPLETELY_CONTAINS')

Temas relacionados