Resumen
Une atributos de una capa con otra en función de las relaciones espaciales, temporales o de atributos o de una combinación de dichas relaciones.
Ilustración
Uso
Una unión espacial hace coincidir las entidades (filas) de las entidades de entrada (parámetros Capa de destino y Capa de unión) en función de sus ubicaciones espaciales. Una unión temporal hace coincidir las entidades (filas) de las entidades de entrada en función de sus relaciones temporales. Un atributo de unión hace coincidir entidades según los valores de campo.
Puede unir entidades basándose en una relación espacial, una relación temporal, una relación de atributos o una combinación de las tres.
Opción Descripción Relación espacial
La relación espacial que determinará si las entidades se van a unir entre sí. Las relaciones disponibles dependen del tipo de geometría (punto, línea o área) de las capas que se unen. Las relaciones espaciales disponibles son las siguientes:
- Interseca
- Es igual a
- Cercanía planar: utiliza distancias planares
- Cercanía geodésica: utiliza distancias geodésicas
- Contiene
- Dentro de
- Toca
- Cruza
- Superpone
Más información sobre las relaciones espaciales en las herramientas de GeoAnalytics Desktop
Relación temporal
La relación temporal que determinará si las entidades se van a unir entre sí. Las relaciones disponibles dependen del tipo de tiempo (instante o intervalo) de las capas que se unen. Las relaciones temporales disponibles son las siguientes:
- Cumple
- Cumplido por
- Superpone
- Superpuesto por
- Durante
- Contiene
- Es igual a
- Finaliza
- Finalizado por
- Inicia
- Iniciado por
- Interseca
- Cercano
- Cerca de antes
- Cerca de después
Más información sobre las relaciones temporales en las herramientas de GeoAnalytics Desktop
Relación de atributos
La relación de atributos que determinará si las entidades se van a unir entre sí. Las entidades se cotejan si los valores de campo de la capa de unión son iguales a los valores de campo de la capa de destino.
Si las entidades de destino y de unión están en sistemas de coordenadas diferentes, se usará el sistema de coordenadas de la entidad de destino. Si se ha especificado un sistema de coordenadas de salida, las dos entidades se proyectan en el sistema de coordenadas de salida y después se unen.
Cuando el valor del parámetro Relación espacial es Planar cercano, Unir entidades requiere que el valor Capa de destino se haya proyectado o que el sistema de coordenadas de salida se haya establecido como un sistema de coordenadas proyectadas.
Si varias entidades coinciden con la misma entidad de destino, puede decidir si todas las entidades coincidentes se unirán (Unión de uno a muchos) o si todas las entidades coincidentes se resumirán juntas (Unión de uno a uno), como sigue:
- Unión de uno a muchos: une todas las entidades coincidentes de la capa de unión con la capa de destino. La capa de resultados contendrá varios registros de la entidad de destino.
- Unión de uno a uno: resume todas las entidades de unión coincidentes con cada entidad de la capa de destino. Solo las entidades que tengan una coincidencia se incluirán en el resumen y en la salida. El recuento de entidades unidas se agregará junto con otras estadísticas como, por ejemplo, suma, mínimo, máximo, rango, valor medio, varianza y desviación estándar. De forma predeterminada, solo se mantendrán en la clase de entidad de salida aquellas entidades de destino que tengan las relaciones especificadas (unión interna). Si se activa Mantener todas las entidades de destino, todas las entidades de destino de entrada se escriben en la clase de entidad de salida (esto se conoce como unión externa izquierda).
Si lo desea, puede crear una expresión para unir entidades con el parámetro Condición de unión. Si especifica una expresión, solo se van a utilizar las entidades que cumplan esta condición. Por ejemplo, con la expresión $target["Magnitude"] > $join["Explosion"], puede unir solo entidades de destino del campo Magnitude si son mayores que la entidad de unión con un campo llamado Explosion. Consulte Expresiones de Arcade en las herramientas de GeoAnalytics Desktop para obtener más información.
En las entidades de salida se incluyen los siguientes campos al ejecutar una unión de uno a muchos:
- Todos los campos de las capas de destino
- Todos los campos de la capa unida
Si existe el mismo nombre de campo en los datasets de destino y de unión, el campo unido empezará por la palabra join (por ejemplo, join_fieldname).
Nombre de campo Descripción start_date
Este campo representa la hora de inicio y se crea cuando la entrada tiene la hora definida como instante o intervalo.
end_date
Este campo representa la hora de finalización y se crea cuando la entrada tiene la hora definida como intervalo.
Además de todos los campos de la capa de destino, en las entidades de salida se incluyen los siguientes campos al ejecutar una unión de uno a uno:
Nombre de campo Descripción count
El recuento de entidades que se han unido.
statistic_fieldname
Cada estadística especificada creará un campo de atributo, cuyo nombre tendrá el siguiente formato: estadística_nombredecampo. Por ejemplo, el máximo y la desviación estándar del campo id son MAX_id y SD_id.
start_date
Este campo representa la hora de inicio y se crea cuando la entrada tiene la hora definida como instante o intervalo.
end_date
Este campo representa la hora de finalización y se crea cuando la entrada tiene la hora definida como intervalo.
Es posible mejorar el rendimiento de la herramienta Unir entidades realizando una o varias de las siguientes acciones:
- Defina el entorno de extensión para analizar únicamente datos de interés.
- Sea lo más exigente posible a la hora de crear las condiciones de unión. Por ejemplo, una unión cercana de 1 kilómetro rendirá mejor que una unión cercana de 5 kilómetros en los mismos datos.
- Agregue más de una condición de unión. Al incorporar más condiciones de unión, esta será más selectiva. Por ejemplo, una unión cercana de 1 kilómetro y 1 hora rendirá mejor que una unión cercana de 1 kilómetro en los mismos datos.
- Aplique una expresión de unión.
- Utilice datos locales en los que se ejecute el análisis.
Es posible realizar análisis similares con la herramienta Unión espacial de la caja de herramientas Análisis.
Esta herramienta de geoprocesamiento se basa en Spark. El análisis se completa en su equipo de escritorio utilizando varios núcleos en paralelo. Consulte Consideraciones acerca de las herramientas de GeoAnalytics Desktop para obtener más información acerca de la ejecución de análisis.
Al ejecutar herramientas de GeoAnalytics Desktop, el análisis se completa en su equipo de escritorio. Para un rendimiento óptimo, los datos deben estar disponibles en su escritorio. Si utiliza una capa de entidades alojada, se recomienda utilizar ArcGIS GeoAnalytics Server. Si sus datos no están almacenados localmente, se tardará más tiempo en ejecutar una herramienta. Para utilizar ArcGIS GeoAnalytics Server con el fin de realizar un análisis, consulte GeoAnalytics Tools.
Sintaxis
arcpy.gapro.JoinFeatures(target_layer, join_layer, output, join_operation, {spatial_relationship}, {spatial_near_distance}, {temporal_relationship}, {temporal_near_distance}, {attribute_relationship}, {summary_fields}, {join_condition}, {keep_all_target_features})
Parámetro | Explicación | Tipo de datos |
target_layer | Contiene las entidades de destino. Los atributos de las entidades de destino y los atributos de las entidades unidas se transferirán a la salida. | Table View |
join_layer | Contiene las entidades de unión. 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 Unión (join_operation en Python) para obtener detalles sobre cómo la consolidación de atributos unidos se ve afectada por el tipo de operación de unión. | Table View |
output | La nueva clase de entidad que contiene las entidades de capa de destino con entidades unidas. | Feature Class;Table |
join_operation | Especifica cómo se tratarán en la entidad de salida las uniones entre los valores target_layer y los valores join_layer si se encuentran varias entidades de unión que tienen la misma relación espacial con una única entidad de destino.
| String |
spatial_relationship (Opcional) | Especifica los criterios que se utilizarán para unir espacialmente entidades.
| String |
spatial_near_distance (Opcional) |
La distancia respecto de una entidad de destino dentro de la cual las entidades de unión se tendrán en cuenta para la unión espacial. Un radio de búsqueda solo es válido cuando el valor del parámetro spatial_relationship es NEAR o NEAR_GEODESIC. | Linear Unit |
temporal_relationship (Opcional) | Especifica los criterios de hora que se utilizarán para hacer coincidir las entidades.
| String |
temporal_near_distance (Opcional) |
La distancia en el tiempo respecto de una entidad de destino dentro de la cual las entidades de unión se tendrán en cuenta para la unión espacial. Un tiempo solo es válido cuando el valor del parámetro temporal_relationship es NEAR, NEAR_BEFORE o NEAR_AFTER y las dos entidades tienen el tiempo habilitado. | Time Unit |
attribute_relationship [attribute_relationship,...] (Opcional) | Une las entidades en función de los valores de un campo de atributos. Especifique el campo de atributo de la capa de destino que coincide con un campo de atributo de la capa de unión.
| Value Table |
summary_fields [summary_fields,...] (Opcional) | Las estadísticas que se calcularán en campos concretos.
| Value Table |
join_condition (Opcional) | Aplica una condición a los campos especificados. Solo se unirán las entidades con campos que cumplan estas condiciones. Por ejemplo, puede aplicar una condición de unión a las entidades en las que el atributo HealthSpending de la capa de unión es mayor que el 20 por ciento del atributo Income de la capa de destino. Utilice una expresión de Arcade como, por ejemplo, $join["HealthSpending"] > $target["Income"] * .2. | String |
keep_all_target_features (Opcional) | Especifica si todas las entidades de destino se mantendrán en la clase de entidad de salida (conocida como unión externa izquierda) o solo aquellas que tienen las relaciones especificadas con las entidades de unión (unión interna).
| Boolean |
Muestra de código
El siguiente script independiente muestra cómo utilizar la herramienta JoinFeatures.
# Name: JoinFeatures.py
# Description: Join crime events that are close together in time and space, and
# return the count of nearby crimes. This example is a self join
# (joining the same layer to itself).
# Import system modules
import arcpy
arcpy.env.workspace = "C:/data/CityData.gdb"
# Set local variables
inFeatures = "Chicago"
spatialOperation = "NEAR"
nearDistance = "1 Kilometers"
temporalOperation = "NEAR"
nearTime = "3 Hours"
out = "CloseCrimes"
# Execute Join Features
arcpy.gapro.JoinFeatures(inFeatures, inFeatures, out, "JOIN_ONE_TO_ONE",
spatialOperation, nearDistance, temporalOperation,
nearTime)
Entornos
Información de licenciamiento
- Basic: No
- Standard: No
- Advanced: Sí
Temas relacionados
- Descripción general del conjunto de herramientas Resumir datos
- Consideraciones sobre las herramientas de GeoAnalytics Desktop
- Relaciones espaciales en la caja de herramientas de GeoAnalytics Desktop
- Relaciones temporales en la caja de herramientas de GeoAnalytics Desktop
- Expresiones de Arcade en la caja de herramientas de GeoAnalytics Desktop
- Buscar una herramienta de geoprocesamiento