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.
Opciones 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. Solo está disponible en ArcGIS Enterprise 10.7.1 y versiones posteriores.
- Contiene
- Dentro de
- Toca
- Cruza
- Superpone
Más información sobre las relaciones espaciales en las herramientas de GeoAnalytics Server
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 Server
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 Unir entidades 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_datetime
Este campo representa la hora de inicio y se crea cuando la entrada tiene la hora definida como instante o intervalo.
end_datetime
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_datetime
Este campo representa la hora de inicio y se crea cuando la entrada tiene la hora definida como instante o intervalo.
end_datetime
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 Reconstruir recorridos realizando una o varias de las siguientes acciones:
- Defina el entorno de extensión para analizar únicamente datos de interés.
- Utilice el método planar en lugar del geodésico.
- No aplique ninguna zona de influencia.
- Divida los recorridos con los parámetros División de tiempo, División de límite de tiempo, División de distancia o Expresión de división. El parámetro División de límite de tiempo tendrá la mayor mejora de rendimiento.
- 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 ArcGIS GeoAnalytics Server. El análisis se completa en su GeoAnalytics Server y los resultados se almacenan en su contenido en ArcGIS Enterprise.
Al ejecutar herramientas de GeoAnalytics Server, el análisis se completa en GeoAnalytics Server. Para obtener un rendimiento óptimo, haga que los datos estén disponibles para GeoAnalytics Server mediante capas de entidades alojadas en su portal de ArcGIS Enterprise o mediante recursos compartidos de archivos de big data. Los datos que no son locales para su GeoAnalytics Server se moverán a GeoAnalytics Server antes de que comience el análisis. Significa que ejecutar una herramienta tardará más tiempo y, en algunos casos, mover los datos de ArcGIS Pro a GeoAnalytics Server podría fallar. El umbral de error depende de la velocidad de su red, así como del tamaño y complejidad de los datos. Por lo tanto, se recomienda que siempre comparta sus datos o que cree un recurso compartido de archivos de big data.
Más información acerca del uso compartido de datos en el portal
Más información sobre cómo crear un archivo compartido de Big Data mediante Server Manager
Sintaxis
arcpy.geoanalytics.JoinFeatures(target_layer, join_layer, output_name, join_operation, {spatial_relationship}, {spatial_near_distance}, {temporal_relationship}, {temporal_near_distance}, {attribute_relationship}, {summary_fields}, {join_condition}, {data_store}, {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. | Record Set |
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. | Record Set |
output_name | String | |
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.
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. En 10.5 y 10.5.1, la condición de unión a utilizar para aplicar esta expresión es join["HealthSpending"] > target["Income"] * .2. En la versión 10.6 y posteriores, use una expresión de Arcade como, por ejemplo, $join["HealthSpending"] > $target["Income"] * .2. | String |
data_store (Opcional) | Especifica el ArcGIS Data Store en el que se guardará la salida. La predeterminada es SPATIOTEMPORAL_DATA_STORE. Todos los resultados almacenados en un big data store espaciotemporal se almacenarán en WGS84. Los resultados almacenados en un data store relacional mantendrán su sistema de coordenadas.
| 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 |
Salida derivada
Nombre | Explicación | Tipo de datos |
output | La salida unida. | Conjunto de registros |
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).
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
inFeatures = "https://MyGeoAnalyticsMachine.domain.com/geoanalytics/rest/services/DataStoreCatalogs/bigDataFileShares_Crimes/BigDataCatalogServer/Chicago"
spatialOperation = "NEAR"
nearDistance = "1 Kilometers"
temporalOperation = "NEAR"
nearTime = "3 Hours"
outFS = "CloseCrimes"
dataStore = "SPATIOTEMPORAL_DATA_STORE"
# Execute Join Features
arcpy.geoanalytics.JoinFeatures(inFeatures, inFeatures, outFS, "JOIN_ONE_TO_ONE",
spatialOperation, nearDistance, temporalOperation,
nearTime, None, None, None, dataStore)
Entornos
- Sistema de coordenadas de salida
El sistema de coordenadas que se usará para el análisis. El análisis se completará en el sistema de coordenadas de entrada salvo que este parámetro especifique otra opción. Para las GeoAnalytics Tools, los resultados finales se almacenarán en el data store espaciotemporal en WGS84.
Información de licenciamiento
- Basic: Requiere ArcGIS GeoAnalytics Server
- Standard: Requiere ArcGIS GeoAnalytics Server
- Advanced: Requiere ArcGIS GeoAnalytics Server