Unir entidades (Geoanálisis)

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

Herramienta Unir entidades
Entidades de unión: los dos ejemplos muestran una unión espaciotemporal.

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.

    OpcionesDescripció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).
    Ejemplo de unión de uno a muchos y de uno a uno
    A continuación, se muestran ejemplos de uniones de uno a muchos y de uno a uno. En este ejemplo, en la unión de uno a uno solo se incluye el recuento; las estadísticas adicionales que se pueden calcular se muestran debajo.

  • 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 campoDescripció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 campoDescripció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ámetroExplicaciónTipo 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.

  • JOIN_ONE_TO_ONE Se agregarán los atributos de las distintas entidades de unión. Por ejemplo, si se encuentra una entidad de destino de punto en dos entidades de unión de polígono separadas, se agregarán los atributos de los dos polígonos antes de que se transfieran a la clase de entidad de puntos de salida. Si un polígono tiene un valor de atributo de 3 y el otro tiene un valor de 7 y se especifica una suma de estadísticas de resumen para ese campo, el valor consolidado en la clase de entidad de salida será 10. Esta es la configuración predeterminada y únicamente se devuelve la estadística de recuento.
  • JOIN_ONE_TO_MANYLa clase de entidad de salida contendrá varias copias (registros) de la entidad de destino. Por ejemplo, si se encuentra una entidad de destino de un solo punto en dos entidades de unión de polígonos independientes, la clase de entidad de salida contendrá dos copias de la entidad de destino: un registro con los atributos de un polígono y otro registro con los atributos del otro polígono. No hay estadísticas de resumen disponibles con este método.
String
spatial_relationship
(Opcional)

Especifica los criterios que se utilizarán para unir espacialmente entidades.

  • INTERSECTSLas entidades de las entidades de unión se harán coincidir si se intersecan con una entidad objetivo. Esta es la opción predeterminada.
  • EQUALS Las entidades de las entidades de unión se harán coincidir si tienen la misma geometría que una entidad de destino.
  • NEARLas entidades en las entidades de unión se harán coincidir si están dentro de una distancia especificada de una entidad objetivo. La distancia se mide con la distancia planar. Especifique una distancia en el parámetro spatial_near_distance.
  • NEAR_GEODESICLas entidades de las entidades de unión se harán coincidir si están dentro de una distancia especificada de una entidad de destino. La distancia se mide a nivel geodésico. Especifique una distancia en el parámetro spatial_near_distance. Esta opción está disponible con ArcGIS Enterprise 10.7 o posterior.
  • 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. Las entidades de unión solo pueden ser polígonos cuando las entidades de destino también son polígonos. Un polígono puede contener cualquier tipo de entidad. Una polilínea puede contener únicamente polilíneas y puntos. Un punto no puede contener ninguna entidad, ni siquiera un punto. Si la entidad de unión reside completamente en el límite de la entidad de destino (ninguna parte está dentro o fuera), la entidad no tendrá coincidencia.
  • WITHINTas entidades en las entidades de unión se harán coincidir si una entidad de destino está dentro de ellas. Es lo opuesto a la relación 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 puede ser una entidad de unión solo si un punto es también una entidad de destino. 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.
  • 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.
  • CROSSESLas 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, pero no las que comparten un segmento de línea.
  • OVERLAPSLas entidades de las entidades de unión se harán coincidir si se superponen con una entidad de destino.
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.

  • MEETSCuando el final de un intervalo de tiempo de destino es igual que el inicio del intervalo de tiempo de unión, el tiempo de destino alcanza al tiempo de unión.
  • MET_BYCuando el inicio de un intervalo de tiempo de destino es igual que el final del intervalo de tiempo de unión, el tiempo de destino es alcanzado por el tiempo de unión.
  • OVERLAPSCuando el intervalo de tiempo de destino empieza y termina antes del inicio y el final del intervalo de tiempo de unión, el tiempo de destino se superpone sobre el tiempo de unión.
  • OVERLAPPED_BYCuando el intervalo de tiempo de destino empieza y termina después del inicio y el final del intervalo de tiempo de unión, el tiempo de unión se superpone sobre el tiempo de destino.
  • DURINGCuando el tiempo de destino está entre el inicio y el final del intervalo de tiempo de unión, el tiempo de destino se da durante el tiempo de unión.
  • CONTAINSCuando el tiempo de la entidad de unión está entre el inicio y el final del intervalo de tiempo de destino, el tiempo de destino contiene el tiempo de unión.
  • EQUALSDos tiempos se consideran iguales si sus instantes o intervalos son idénticos.
  • FINISHESCuando un tiempo de destino termina al mismo tiempo que un tiempo de unión, y el tiempo de destino se inició después del tiempo de unión, el tiempo de destino finaliza el tiempo de unión.
  • FINISHED_BYCuando el tiempo de una entidad de unión termina al mismo tiempo que un tiempo de destino, y el tiempo de unión se inició después del tiempo de destino, el tiempo de unión finaliza el tiempo de destino.
  • STARTSCuando un tiempo de destino comienza a la vez que el intervalo de tiempo de unión y termina antes del fin del intervalo de tiempo de unión, el tiempo de destino inicia el tiempo de unión.
  • STARTED_BYCuando el tiempo de un intervalo de destino comienza al mismo tiempo que el tiempo de unión y termina después del tiempo de unión, el tiempo de unión inicia el tiempo de destino.
  • INTERSECTSCuando cualquier parte de un tiempo de destino se produce al mismo tiempo que el tiempo de unión, el tiempo de destino se interseca con el tiempo de unión.
  • NEARCuando un tiempo de destino está dentro de un rango de tiempo especificado con respecto al tiempo de unión, el tiempo de destino estará cerca del tiempo de unión.
  • NEAR_BEFORECuando un tiempo de destino es anterior al tiempo de unión, pero está dentro de un rango de tiempo especificado con respecto al tiempo de unión, el tiempo de destino estará delante del tiempo de unión. Esta opción está disponible con ArcGIS Enterprise 10.6 o posterior.
  • NEAR_AFTERCuando un tiempo de destino es posterior al tiempo de unión, pero está dentro de un rango de tiempo especificado con respecto al tiempo de unión, el tiempo de destino estará después del tiempo de unión. Esta opción está disponible con ArcGIS Enterprise 10.6 o posterior.

Especifica los criterios de hora que se utilizarán para hacer coincidir las entidades.

  • MEETSCuando el final de un intervalo de tiempo de destino es igual que el inicio del intervalo de tiempo de unión, el tiempo de destino alcanza al tiempo de unión.
  • MET_BYCuando el inicio de un intervalo de tiempo de destino es igual que el final del intervalo de tiempo de unión, el tiempo de destino es alcanzado por el tiempo de unión.
  • OVERLAPSCuando el intervalo de tiempo de destino empieza y termina antes del inicio y el final del intervalo de tiempo de unión, el tiempo de destino se superpone sobre el tiempo de unión.
  • OVERLAPPED_BYCuando el intervalo de tiempo de destino empieza y termina después del inicio y el final del intervalo de tiempo de unión, el tiempo de unión se superpone sobre el tiempo de destino.
  • DURINGCuando el tiempo de destino está entre el inicio y el final del intervalo de tiempo de unión, el tiempo de destino se da durante el tiempo de unión.
  • CONTAINSCuando el tiempo de la entidad de unión está entre el inicio y el final del intervalo de tiempo de destino, el tiempo de destino contiene el tiempo de unión.
  • EQUALSDos tiempos se consideran iguales si sus instantes o intervalos son idénticos.
  • FINISHESCuando un tiempo de destino termina al mismo tiempo que un tiempo de unión, y el tiempo de destino se inició después del tiempo de unión, el tiempo de destino finaliza el tiempo de unión.
  • FINISHED_BYCuando el tiempo de una entidad de unión termina al mismo tiempo que un tiempo de destino, y el tiempo de unión se inició después del tiempo de destino, el tiempo de unión finaliza el tiempo de destino.
  • STARTSCuando un tiempo de destino comienza a la vez que el intervalo de tiempo de unión y termina antes del fin del intervalo de tiempo de unión, el tiempo de destino inicia el tiempo de unión.
  • STARTED_BYCuando el tiempo de un intervalo de destino comienza al mismo tiempo que el tiempo de unión y termina después del tiempo de unión, el tiempo de unión inicia el tiempo de destino.
  • INTERSECTSCuando cualquier parte de un tiempo de destino se produce al mismo tiempo que el tiempo de unión, el tiempo de destino se interseca con el tiempo de unión.
  • NEARCuando un tiempo de destino está dentro de un rango de tiempo especificado con respecto al tiempo de unión, el tiempo de destino estará cerca del tiempo de unión.
  • NEAR_BEFORECuando un tiempo de destino es anterior al tiempo de unión, pero está dentro de un rango de tiempo especificado con respecto al tiempo de unión, el tiempo de destino estará delante del tiempo de unión. Esta opción está disponible con ArcGIS Enterprise 10.6 o posterior.
  • NEAR_AFTERCuando un tiempo de destino es posterior al tiempo de unión, pero está dentro de un rango de tiempo especificado con respecto al tiempo de unión, el tiempo de destino estará después del tiempo de unión. Esta opción está disponible con ArcGIS Enterprise 10.6 o posterior.
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.

  • Campo de destino: un campo de atributo de la capa de destino que contiene los valores que se deben hacer coincidir.
  • Campo de unión: un campo de atributo de la capa de unión que contiene los valores que se deben hacer coincidir.

Value Table
summary_fields
[summary_fields,...]
(Opcional)

Las estadísticas que se calcularán en campos concretos.

  • COUNT: el número de valores no nulos. Se puede usar en campos numéricos o de cadenas de caracteres. El recuento de [null, 0, 2] es 2.
  • SUM: la suma de valores numéricos en un campo. La suma de [null, null, 3] es 3.
  • MEAN: el valor medio de los valores numéricos. La media de [0,2, null] es 1.
  • MIN: el valor mínimo de un campo numérico. El mínimo de [0, 2, null] es 0.
  • MAX: el valor máximo de un campo numérico. El valor máximo de [0, 2, null] es 2.
  • STDDEV: la desviación estándar de un campo numérico. La desviación estándar de [1] es null. La desviación estándar de [null, 1,1,1] es null.
  • VAR: la varianza de un campo numérico en un recorrido. La varianza de [1] es null. La varianza de [null, 1,1,1] es null.
  • RANGE: el rango de un campo numérico. Se calcula como el valor mínimo restado del valor máximo. El rango de [0, null, 1] es 1. El rango de [null, 4] es 0.
  • ANY: una cadena de caracteres de un campo de tipo cadena de caracteres.

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.

  • SPATIOTEMPORAL_DATA_STORELa salida se almacenará en un big data store espaciotemporal. Esta es la opción predeterminada.
  • RELATIONAL_DATA_STORELa salida se almacenará en un data store relacional.
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).

  • KEEP_ALLTodas las entidades de destino se mantendrán en la salida (unión externa izquierda).
  • KEEP_COMMONSolo se mantendrán en la clase de entidad de salida aquellas entidades de destino que tengan las relaciones especificadas (unión interna). Esta es la opción predeterminada.
Boolean

Salida derivada

NombreExplicaciónTipo de datos
output

La salida unida.

Conjunto de registros

Muestra de código

Ejemplo de JoinFeatures (script independiente)

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

Temas relacionados