Joindre les entités

Icône d’outil Disponible dans les analyses en temps réel et les analyses de Big Data.

L’outil Join Features (Joindre des entités) Outil Joindre des entités transfère les attributs provenant des entités d’un flux, d’une couche ou d’une table à d’autres entités du même flux ou aux entités d’un autre flux ou jeu de données en fonction de relations spatiales, temporelles et attributaires ou d’une combinaison des trois. Vous pouvez éventuellement calculer les statistiques pour les entités jointes.

Diagramme de workflow

Diagramme de workflow Entités jointes

Exemples

  • Un analyste dispose de données sur la criminalité d’une ville. Afin d’analyser et d’étudier l’impact de ces délits, il est nécessaire de comprendre la relation entre la localisation de ces délits et les différentes juridictions de la ville, telles que les arrondissements scolaires, les zones de police, les voisinages, etc. L'outil Join Features (Joindre des entités) permet d'ajouter des informations complémentaires concernant chaque emplacement à chaque délit, et d'étudier et d'analyser plus en profondeur l'impact sur diverses juridictions.
  • Lorsqu’un navire d’un flux entre dans une cellule d’intempéries en mouvement d’un autre flux, ajoutez des attributs au navire à partir de l’entité d’événement d’intempéries.

Remarques sur l’utilisation

  • Vous pouvez joindre des entités selon une relation spatiale, temporelle ou attributaire, ou une combinaison des trois.

    OptionDescription
    Relation spatiale

    Relation spatiale

    La relation spatiale qui va déterminer si les entités sont jointes les unes aux autres. Les relations disponibles dépendent du type de géométrie (point, ligne ou surface) des couches jointes. Les types de relations spatiales disponibles sont les suivants :

    • intersecte
    • entrer
    • égal à
    • quitter
    • planaire proche
    • géodésique proche
    • contains
    • within
    • touches (touche)
    • crosses
    • superpose
    Remarque :

    Une entité cible doit satisfaire sa relation spatiale avec toutes les entités de jointure si une sortie a été spécifiée et qu'il existe plusieurs entités de jointure. Pour toute autre relation spatiale, s'il existe plusieurs entités de jointure, une entité cible peut satisfaire sa relation spatiale avec toute entité de jointure individuelle.

    Temporal Relation (Relation temporelle)

    Temporal Relation (Relation temporelle)

    La relation temporelle qui va déterminer si les entités sont jointes les unes aux autres. Les relations disponibles dépendent du type de temps (instant ou intervalle) des couches jointes. Les types de relations temporelles disponibles sont les suivants :

    • rejoint
    • rejoint par
    • superpose
    • superposé par
    • pendant
    • contains
    • égal à
    • termine
    • terminé par
    • démarre
    • démarré par
    • intersecte
    • proche
    Attribute relationship (Relation attributaire)

    Attribute relationship (Relation attributaire)

    La relation attributaire qui va déterminer si les entités sont jointes les unes aux autres. Les entités sont appariées lorsque les valeurs de champ de la couche de jointure sont identiques à celles de la couche cible.

    Si plusieurs entités correspondent à la même entité cible, vous pouvez déterminer si toutes les entités appariées seront jointes (Joindre un vers plusieurs) ou si toutes les entités appariées seront synthétisées ensemble (Joindre un vers un) comme suit :
    • Join one to one (Joindre un vers un) : cette option synthétise toutes les entités de jointure d’appariement sur chaque entité de la couche cible. Seules les entités cibles appariées seront incluses dans la sortie. Le nombre d’entités jointes sera ajouté, ainsi que d’autres statistiques, telles que somme, minimum, maximum, plage, moyenne, variance et écart type. Vous pouvez calculer des résumés statistiques uniquement si une opération Joindre un vers un est spécifiée.
    • Joindre un vers plusieurs : cette option joint toutes les entités appariées de la couche de jointure à la couche cible. La couche de résultat contiendra plusieurs enregistrements de la couche cible.

      Joindre des entités avec une relation un vers un et un vers plusieurs

      Exemples de jointure un vers plusieurs et un vers un. Dans cet exemple, la jointure un vers un ne comprend que le total. Les statistiques supplémentaires pouvant être calculées sont indiquées sous Fonctionnement de l’outil Join Feature (Joindre des entités) - section Calculs.

      Lorsque le paramètre Join Operation (Opération de jointure) est défini sur Join one to many (Joindre un vers plusieurs), il peut exister plusieurs lignes dans la classe d’entités en sortie pour chaque entité cible.

  • Lorsque vous configurez l’outil Join Features (Joindre des entités) selon une jointure un vers un, vous pouvez choisir l'option Only retain features that are joined (Conserver uniquement les entités qui sont jointes) ou Retain all features regardless of join results (Conserver toutes les entités indépendamment des résultats de la jointure).
    • Si vous choisissez l'option Only retaining features that are joined (Conserver uniquement les entités qui sont jointes), seules les entités qui ont pu être jointes à une entité du jeu de données de jointure seront présentes en sortie.
    • Si vous sélectionnez l'option Retain all features regardless of join results (Conserver toutes les entités indépendamment des résultats de la jointure), toutes les entités du jeu de données cible seront présentes en sortie, qu’il y ait eu ou non des attributs de jointure.
    • Lorsque vous conservez toutes les entités, si une entité est conservée mais qu’il n’y avait pas de jointure pour cette entité, la valeur COUNT est 0 et toutes les valeurs attributaires des champs de récapitulation sont nulles.
    • Cette option n’est disponible que pour les jointures de type un vers un.
  • Si les entités cible et de jointure sont dans des systèmes de coordonnées différents, les systèmes de coordonnées de l'entité cible sont utilisés.
  • Si une entité jointe présente une relation spatiale avec plusieurs entités cibles, elle est comptabilisée autant de fois qu’une correspondance est détectée avec l’entité cible. Par exemple, si un point se trouve dans trois polygones, il est comptabilisé trois fois, à savoir une fois pour chaque polygone.
  • Lorsque l'option Spatial relationship (Relation spatiale) est définie sur Near geodesic (Géodésique proche) ou Near planar (Planaire proche), la couche cible doit être projetée ou le système de coordonnées en sortie est défini sur un système de coordonnées projetées.
  • Vous pouvez éventuellement créer une expression pour joindre les entités. Si vous spécifiez une expression, seules les entités qui remplissent la condition sont utilisées. Vous ne pouvez par exemple joindre des entités cibles du champ Magnitude que si la valeur est supérieure à l’entité jointe avec un champ nommé Explosion, à l’aide de l’expression $target["Magnitude"] > $join["Explosion"]. En savoir plus sur les expressions Arcade avec l'outil Join Features (Joindre des entités).
  • Lorsque Spatial relationship (Relation spatiale) est définie sur enter (ouverture) ou exit (fermeture) dans une analyse temps réel les éléments suivants sont vrais :
    • l’outil fonctionne avec état, ce qui lui permet de comparer des observations séquentielles entre elles en vue de détecter un changement d’état, par exemple pour savoir si la condition actuelle est différente de celle de l’observation précédente. Avec d’autres relations spatiales dans l’analyse temps réel, l’outil n’a pas besoin de comparer les observations avec de précédentes observations ; il peut donc s’exécuter sans état, ce qui nécessite moins de ressources.
    • Lorsqu'il fonctionne avec état, l'outil Join Features (Joindre des entités) conserve un magasin d'état de l'observation actuelle pour chaque ID de trace. Lorsqu'une nouvelle observation arrive, elle est comparée à l'observation actuelle du même ID de trace, si celle-ci existe. Si l'horodatage de la nouvelle observation est plus récent que celui de l'observation actuellement présente dans le magasin d'état, l'observation actuelle est remplacée. Si l'horodatage est identique à celui de l'observation actuelle pour le même ID de trace, l'outil ne peut pas faire la distinction entre les deux observations. Ceci signifie que l’outil ne remplacera pas l’observation actuelle par la nouvelle observation dans le magasin d’état, la nouvelle observation ne sera pas ajoutée au magasin d’état et les observations futures de cette ID de trace seront comparées à l’observation actuelle, laquelle est conservée dans le magasin d’état jusqu’à l’arrivée d’une nouvelle observation possédant un horodatage ultérieur. L'outil enregistrera un avertissement indiquant que cela s'est produit.
    • Le fait de cocher la case First observation can trigger enter (La première observation peut déclencher l’ouverture) ou First observation can trigger exit (La première observation peut déclencher la fermeture) indique que la première entité cible reçue répond à la condition de filtre si elle se trouve dans une entité jointe (si la relation spatiale est de type enter (ouverture)), ou en dehors (si la relation spatiale est de type exit (fermeture), malgré l'absence d'entité cible antérieure à laquelle comparer l’emplacement de l’entité cible actuelle. La valeur par défaut est faux (non sélectionné).
    • Le paramètre Target Time Window (Fenêtre horaire cible) dans une analyse en temps réel doit être au moins aussi long que l’intervalle anticipé le plus long entre les observations pour une piste. Les observations plus anciennes seront supprimées de la mémoire afin de gérer les ressources.
  • Si un flux est connecté au port de jointure, les calculs de distance sont effectués dynamiquement en fonction de l’évolution des entités dans les flux cible et de jointure.
  • Dans le geofencing dynamique, le paramètre Join Time Window (Fenêtre horaire de jointure) doit être défini. Si le flux de jointure ne comporte pas de champ balisé comme END_TIME et que la dernière observation connue pour une entité de jointure est antérieure à cette fenêtre, elle est supprimée de la mémoire de l’outil et n’est pas incluse dans l’analyse. Si le flux de jointure comporte un champ balisé comme END_TIME, l’entité obsolète est exclue du magasin de geofences en fonction de la valeur figurant dans le champ END_TIME ou lorsque la fenêtre horaire de jointure est fermée, selon l’événement qui se produit en premier.
  • Les statistiques sont calculées uniquement pour les entités présentant la relation spatiale, temporelle ou attributaire utilisée dans l’opération Joindre un vers un. Vous pouvez calculer des statistiques de chaîne et numériques.

Paramètres

ParamètreDescriptionType de données

Target layer (Couche cible)

Couche cible contenant les entités à traiter.

Entités

Join layer (Couche de jointure)

Couche dont les entités seront jointes à celles de la couche cible.

Entités

Join operation (Opération de jointure)

Indique si la jointure sera de type un vers un ou un vers plusieurs.

  • Join one to one (Jointure de type un vers un) : les jointures de type un vers un renvoient toujours un nombre de résultats identique aux entités cibles, ou inférieur si des entités cibles ne correspondent à aucune entité jointe. Les attributs des entités jointes sont résumés selon le paramètre Summary fields (Champs de récapitulation).
  • Join one to many (Jointure de type un vers plusieurs) : les jointures de type un vers plusieurs renvoient un enregistrement pour chaque appariement entre des entités cibles et jointes. Les attributs des entités jointes ne sont pas résumés.

Chaîne

Retain all features (Conserver toutes les entités)

Indique si seules les entités des jointures réussies seront conservées ou si toutes les entités seront conservées, qu'il y ait eu ou non une jointure réussie pour ces entités. Cette option n’est disponible que pour les jointures de type un vers un.

Pour les jointures de type un vers plusieurs, cette option n’est pas disponible et seules les entités associées à des jointures réussies sont renvoyées.

Si toutes les entités sont conservées, pour les entités sans jointure, le total sera égal à 0 et les valeurs de champ de récapitulation seront nulles.

Chaîne

Relation spatiale

Définit les critères utilisés pour joindre spatialement les entités. Ce paramètre est disponible si l’option Spatial (Spatial) est cochée.

Chaîne

Spatial near distance (Distance de proximité spatiale)

Les entités jointes dans cette distance spécifiée d’une entité cible à prendre en compte pour la jointure spatiale. La distance de proximité spatiale est uniquement valide lorsque la relation spatiale est définie sur Near geodesic (Géodésique proche) ou Near planar (Planaire proche).

Unité linéaire

Temporal Relation (Relation temporelle)

Définit les critères temporels utilisés pour l’appariement des entités. Ce paramètre est disponible si l’option Temporal (Temporel) est cochée. Différents critères temporels sont disponibles en fonction du type d’entités temporelles : Instant ou Interval (Intervalle).

  • meets (rejoint) : lorsque la fin d’un intervalle temporel cible est égale au début de l’intervalle temporel de jointure, les données temporelles cibles rejoignent les données temporelles de jointure.
  • met by (rejoint par) : lorsque le début d’un intervalle temporel cible est égal à la fin de l’intervalle temporel de jointure, les données temporelles cibles sont rejointes par les données temporelles de jointure.
  • overlaps (superpose) : lorsqu’un intervalle temporel cible commence et se termine avant le début et la fin de l’intervalle temporel de jointure, les données temporelles cibles recouvrent les données temporelles de jointure.
  • overlapped by (superposé par) : lorsqu’un intervalle temporel cible commence et se termine après l’heure de début et l’heure de fin de l’intervalle temporel de jointure, les données temporelles cibles sont recouvertes par les données temporelles de jointure.
  • during (pendant) : lorsque des données temporelles cibles interviennent entre le début et la fin de l’intervalle temporel de jointure, les données temporelles cibles se situent pendant les données temporelles de jointure.
  • contains (contient) : lorsque les données temporelles d’une entité de jointure interviennent entre le début et la fin de l’intervalle temporel cible, les données temporelles cibles contiennent les données temporelles de jointure.
  • equals (égal à) : des données temporelles sont considérées égales si leurs instants ou intervalles sont identiques.
  • finishes (termine) : lorsque des données temporelles cibles se terminent au même moment que des données temporelles de jointure, et que les données temporelles cibles ont commencé après celles de jointure, les données temporelles cibles terminent les données temporelles de jointure.
  • finished by (terminé par) : lorsque les données temporelles d’une entité de jointure se terminent au même moment que les données temporelles cibles, et que les données temporelles de jointure ont commencé après les données temporelles cibles, les données temporelles cibles sont terminées par les données temporelles de jointure.
  • starts (démarre) : lorsque des données temporelles cibles commencent au même moment que l’intervalle temporel de jointure, et se terminent avant la fin de l’intervalle temporel de jointure, les données temporelles cibles démarrent les données temporelles de jointure.
  • started by (démarré par) : lorsqu’un intervalle temporel cible commence au même moment que les données temporelles de jointure, et se termine après les données temporelles de jointure, les données temporelles cibles sont démarrées par les données temporelles de jointure.
  • intersects (intersecte) : lorsqu’une partie quelconque de données temporelles cibles intervient au même moment que les données temporelles de jointure, les données temporelles cibles intersectent les données temporelles de jointure.
  • near (proche) : lorsque des données temporelles cibles sont comprises dans une plage de temps spécifiée à partir des données temporelles de jointure, les données temporelles cibles sont proches des données temporelles de jointure.
  • near before (proche avant) : lorsque des données temporelles cibles sont avant les données temporelles de jointure, mais comprises dans une plage de temps spécifiée à partir des données temporelles de jointure, les données temporelles cibles sont proches avant les données temporelles de jointure.
  • near after (proche après) : lorsque des données temporelles cibles sont après les données temporelles de jointure, mais comprises dans une plage de temps spécifiée à partir des données temporelles de jointure, les données temporelles cibles sont proches après les données temporelles de jointure.

Chaîne

Temporal near distance (Distance de proximité temporelle)

Temps qui s’écoule entre les événements. Les jointures sont effectuées entre les événements qui ont lieu dans cet intervalle. Ce paramètre est disponible si l’option Temporal relationship (Relation temporelle) est définie sur Near (Proche).

Unités de temps

Attribute relationship (Relation attributaire)

Joint des entités en fonction des valeurs d'un champ attributaire. Spécifiez quel champ attributaire de la couche cible doit correspondre à un champ attributaire de la couche de jointure. Ce paramètre apparaît si l’option Attribute (Attribut) est activée.

  • Target field (Champ cible) : champ attributaire de la couche cible contenant les valeurs à apparier.
  • Join field (Champ de jointure) : champ attributaire de la couche de jointure contenant les valeurs à apparier.

Chaîne

Champs de récapitulation

Spécifie les statistiques à calculer sur les champs spécifiés depuis les entités jointes. Les statistiques sont calculées pour les jointures de type un vers un. Différentes statistiques sont disponibles en fonction du type du champ spécifié : chaîne, valeur numérique ou date.

  • Any (Quelconque) : exemple de chaîne provenant d’un champ de type chaîne.
  • Count (Total) : calcule le nombre de valeurs non nulles. Peut être utilisé sur des champs numériques ou des chaînes. Le total de [Null, 0, 2] est égal à 2.
  • Count (distinct) (Total [distinct]) : calcule le nombre de valeurs non nulles distinctes. Peut être utilisé sur des champs numériques ou des chaînes. Le résultat du total distinct de [null, 4, 3, 4] est 2.
  • Sum (Somme) : somme des valeurs numériques dans un champ. La somme de [null, 1, 3] est égale à 4.
  • Square sum (Somme des carrés) : somme, sur toutes les observations, des différences au carré de chaque observation par rapport à la moyenne globale. La somme des carrés de [null, 2,2, 3,1, 4,7] est égale à 3,206.
  • Min : valeur minimale d’un champ numérique. La valeur minimale de [0, 2, Null] est égale à 0.
  • Max : valeur maximale d’un champ numérique. La valeur maximale de [0, 2, Null] est égale à 2.
  • Mean (Moyenne) : moyenne des valeurs numériques. La moyenne de [0,2, Null] est égale à 1.
  • Range (Plage) : plage d’un champ numérique. Elle est calculée comme la valeur minimale soustraite de la valeur maximale. La plage de [0, Null, 1] est égale à 1. La plage de [Null, 4] est égale à 0.
  • Variance : variance d’un champ numérique dans une trace. La variance de [1] est la valeur nulle. La variance de [Null, 1,1,1] est égale à 1.
  • Standard Deviation (Écart type) : écart type d’un champ numérique. L'écart type de [1] est la valeur Null. L'écart type de [Null, 1,1,1] est égale à 1.

Chaîne

Join condition (Condition de jointure)

Applique une condition à des champs spécifiés. Seules les entités présentant des champs qui remplissent ces conditions sont jointes.

Par exemple, vous pouvez appliquer une jointure à des entités lorsque HealthSpendingl’attribut dans la couche de jointure est supérieur à 20 % de l’attribut Income dans la couche cible. La condition de jointure permettant d’appliquer cette expression est $join["HealthSpending"] > $target["Income"] * .2.

Chaîne

La première observation peut déclencher l’ouverture/la fermeture

Indique si la première entité cible reçue répond à la condition de relation spatiale si elle se trouve à l’intérieur d’une entité jointe si la relation spatiale est de type enter (ouverture) ou en dehors de toutes les entités jointes si la relation spatiale est de type exit (fermeture) malgré l’absence d’entité cible antérieure à laquelle comparer l’emplacement de l’entité cible actuelle. La valeur par défaut est faux (non sélectionné).

Booléen

Remplacer la géométrie de l’entité cible par la géométrie de l’entité de jointure

Remplace la géométrie de l’entité cible par la géométrie de l’entité de jointure. Par exemple, si l’entité cible est un point alors que l’entité de jointure à laquelle elle est jointe est un polygone, l’entité cible adopte la géométrie surfacique de l’entité de jointure. Par défaut, cette propriété est définie sur faux.

Si l’entité cible ne possède pas de géométrie, elle adopte la géométrie de l'entité de jointure à laquelle elle est jointe.

Si l’entité cible possède une géométrie alors que l’entité de jointure à laquelle elle est jointe n’en possède pas, l’entité cible perd sa géométrie et devient tabulaire.

Remarque :

Ce paramètre n'est pas valide si l'option Retain all features (Conserver toutes les entités) est définie sur true. Les entités en sortie ne peuvent pas posséder de géométries différentes.

Booléen

Target Time Window (Fenêtre horaire cible)

Indiquez une valeur au moins aussi longue que l’intervalle anticipé le plus long entre les observations pour un suivi donné. Les observations plus anciennes seront supprimées de la mémoire afin de gérer les ressources.

Ce paramètre est valide uniquement lorsque Spatial relationship (Relation spatiale) est défini sur enter (ouverture) ou sur exit (fermeture).

Chaîne

Join Time window (Fenêtre horaire de jointure)

Fenêtre horaire pour le flux de jointure (geofencing dynamique). Si la dernière observation connue pour une entité de jointure est antérieure à la fenêtre horaire spécifiée, elle est supprimée et n’est pas incluse dans l’analyse. Si le flux de jointure comporte un champ marqué comme END_TIME, ce paramètre est facultatif.

Chaîne

Considérations et limitations

  • Les résumés statistiques ne sont calculés que si l’opération Join one to one (Joindre un vers un) est spécifiée.
  • Le nom de champ COUNT est utilisé pour représenter le nombre d’entités jointes pour une jointure un vers un. Si le nom de champ COUNT existe déjà dans la structure cible, le champ sera nommé join_COUNT. Si vous effectuez plusieurs jointures consécutives, les noms de champ seront COUNT, join_COUNT, join_COUNT1, join_COUNT2, etc. pour éviter les conflits.