Unir entidades (GeoAnalytics Desktop)

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.

    OpciónDescripció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 la 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.
    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 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 campoDescripció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 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, la desviación máxima y 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

JoinFeatures(target_layer, join_layer, output, join_operation, {spatial_relationship}, {spatial_near_distance}, {temporal_relationship}, {temporal_near_distance}, {attribute_relationship}, {summary_fields}, {join_condition})
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.

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 target_layer y 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 dentro de 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 única entidad de destino de un punto dentro de 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.
  • 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. El polígono puede contener cualquier tipo de entidad. La polilínea puede contener únicamente polilíneas y puntos. El 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. El punto puede ser una entidad de unión solo si el 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 al mismo tiempo que el inicio del 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.
  • NEAR_AFTERCuando 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.
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. Utilice una expresión de Arcade como, por ejemplo, $join["HealthSpending"] > $target["Income"] * .2.

String

Muestra de código

Ejemplo de JoinFeatures (ventana de Python)

El siguiente script de la ventana de Python 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)

Información de licenciamiento

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

Temas relacionados