Grouper par proximité (GeoAnalytics Desktop)

Synthèse

Permet de grouper des entités selon une proximité spatiale ou spatiotemporelle entre elles.

Voici quelques exemples de questions auxquelles les processus de l’outil Grouper par proximité peuvent répondre :

  • Quelles routes sont connectées ?
  • Où se trouvent les groupes de crimes se produisant à une distance géographique et temporelle proche ?
  • Existe-t-il des groupes de polygones qui se superposent ?

Illustration

Illustration de l’outil Grouper par proximité

Utilisation

  • Le résultat en sortie est une copie de l’entrée avec un nouveau champ nommé group_id. Le champ group_id représente le groupement d’entités. Les entités qui possèdent la même valeur group_id figurent dans le même groupe. Les numéros de groupe représentent l’appartenance à un groupe spécifique et ne correspondent à aucune valeur. Il se peut que les numéros de groupe ne soient pas séquentiels ou que le même numéro soit utilisé plusieurs fois lors d’utilisations répétées de l’outil. Les résultats sont symbolisés avec huit groupes. Si le résultat comprend plus de huit groupes, tous les groupes sont symbolisés avec huit couleurs par défaut. Vous pouvez modifier la symbologie pour afficher chaque groupe unique en procédant à la symbolisation avec des symboles uniques dans le champ group_id.

  • L’outil prend en charge les combinaisons de relations suivantes :

    • Une relation spatiale
    • Une relation spatiale et une relation temporelle
    • Une relation spatiale et une relation attributaire
    • Une relation spatiale, une relation temporelle et une relation attributaire
    Les entités sont regroupées lorsque toutes les relations spécifiées existent.

  • Les relations spatiales et les géométries en entrée prises en charge sont décrites dans le tableau suivant :

    Type de géométrie en entréeIntersecteToucheProche géodésiqueProche plan

    Point

    CocheCocheCoche

    Polyligne

    CocheCocheCocheCoche

    Polygone

    CocheCocheCocheCoche

    Overlay method (Méthode de superposition)Description

    Intersecte

    Les entités s’intersectent lorsque des entités ou des portions d’entités se superposent. Il s’agit de l’option par défaut.

    Touche

    Les entités touchent une autre entité si elles s’intersectent en un sommet, mais qu’elles ne sont pas superposées.

    Proche géodésique

    Les entités sont proches si un sommet ou un tronçon se situe dans une distance géodésique donnée d’une autre entité.

    Proche plan

    Les entités sont proches si un sommet ou un tronçon se situe dans une distance planaire donnée d’une autre entité.

  • Pour que vous puissiez utiliser l’option Planar Near (Planaire à proximité) du paramètre Spatial Relationship (Relation spatiale), la valeur de Input Layer (Couche en entrée) doit être projetée ou le système de coordonnnées en sortie doit être défini sur un système de coordonnées projetées.

  • Les relations temporelles et les types temporels pris en charge sont décrits dans le tableau suivant :

    Type temporel en entréeIntersecteProche

    Aucun

    Instant

    CocheCoche

    Intervalle

    CocheCoche

    Méthode de relation temporelleDescription

    Intersecte

    Des entités s’intersectent lorsque n’importe quelle portion temporelle d’une entité se superpose à une autre entité.

    Proche

    Les entités sont proches les unes des autres si les données temporelles d’une entité se situent dans une distance temporelle donnée d’une autre entité.

  • Pour utiliser une relation temporelle, vous devez activer les données temporelles sur l’entrée. Vous pouvez activer les données temporelles en procédant comme suit :

  • Les expressions attributaires sont une opération symétrique. L’outil prend une seule couche en entrée qui est comparée à elle-même lors du regroupement. C’est pourquoi, la couche en entrée est indiquée en tant que a et b dans l’expression ArcGIS Arcade et toutes les expressions doivent inclure à la fois a et b. Par exemple, pour regrouper tous les enregistrements lorsque le champ Amount a la même valeur, utilisez l’expression suivante : $a["Amount"] == $b["Amount"].

  • Vous pouvez améliorer les performances de l’outil Grouper par proximité en effectuant une ou plusieurs des opérations suivantes :

    • Définissez l’environnement de l’étendue de manière à analyser uniquement des données d’intérêt.
    • Lorsque vous utilisez l’option Planar Near (Proche planaire) ou Geodesic Near (Proche géodésique) du paramètre Spatial Relationship (Relation spatiale), utilisez une valeur plus petite pour le paramètre Spatial Near Distance (Distance de proximité spatiale).
    • Lorsque vous utilisez le paramètre Spatial Relationship (Relation spatiale), l’option Planar Near (Proche planaire) est plus rapide que l’option Geodesic Near (proche géodésique).
    • Lorsque vous utilisez l’option Near (Proche) du paramètre Temporal Relationship (Relation temporelle), utilisez une valeur plus petite pour le paramètre Temporal Near Distance (Distance de proximité temporelle).
    • Utilisez les données locales de l’environnement de l’analyse.

  • Cet outil de géotraitement est mis en œuvre par Spark. L’analyse est effectuée sur votre ordinateur de bureau en utilisant plusieurs cœurs en parallèle. Pour en savoir plus sur l’exécution de l’analyse, reportez-vous à la rubrique Remarques relatives aux outils GeoAnalytics Desktop.

  • Lorsque vous exécutez des outils GeoAnalytics Desktop, l’analyse est effectuée sur votre ordinateur de bureau. Pour des performances optimales, les données doivent être accessibles sur votre bureau. Si vous utilisez une couche d’entités hébergée, il est recommandé d'utiliser ArcGIS GeoAnalytics Server. Si vos données ne sont pas enregistrées en local, l’exécution des outils prendra plus de temps. Pour utiliser votre ArcGIS GeoAnalytics Server en vue d'une analyse, reportez-vous à la rubrique GeoAnalytics Tools.

Paramètres

ÉtiquetteExplicationType de données
Couche en entrée

Entités ponctuelles, linéaires ou surfaciques qui sont groupées.

Feature Layer
Sortie

Classe d’entités en sortie comportant les entités groupées représentée par un nouveau champ nommé group_id.

Feature Class
Relation spatiale

Spécifie le type de relation déterminant le groupement des entités.

  • IntersecteLes entités sont groupées lorsque des entités ou des portions d’entités se superposent. Il s’agit de l’option par défaut.
  • ToucheLes entités sont groupées avec une autre entité si elles s’intersectent en un sommet, mais qu’elles ne sont pas superposées.
  • Proche planLes entités sont groupées si un sommet ou un tronçon se situe dans une distance planaire donnée d’une autre entité.
  • Proche géodésiqueLes entités sont groupées si un sommet ou un tronçon se situe dans une distance géodésique donnée d’une autre entité.
String
Distance de proximité spatiale
(Facultatif)

Distance utilisée pour grouper les entités proches. Ce paramètre est utilisé uniquement lorsque le paramètre Spatial Relationship (Relation spatiale) a pour valeur Planar Near (proche planaire) ou Geodesic Near (Proche géodésique).

Linear Unit
Relation temporelle
(Facultatif)

Spécifie les critères temporels utilisés pour apparier les entités. Lorsque le paramètre est défini sur Intersects (Intersecte) ou Near (Proche), les entités sont groupées lorsque les critères spatiaux et temporels sont remplis. Les données temporelles doivent être activées sur l’entrée pour que cette option soit prise en charge.

  • IntersecteLes entités sont groupées lorsque n’importe quelle portion des données temporelles d’une entité se superpose à une autre entité. Il s’agit de l’option par défaut.
  • ProcheLes entités sont groupées lorsque les données temporelles d’une entité se situent dans une plage de temps donnée d’une autre entité.
  • AucunLes données temporelles ne sont pas utilisées pour grouper les entités.
String
Distance de proximité temporelle
(Facultatif)

Distance temporelle utilisée pour grouper des entités proches. Ce paramètre est utilisé uniquement lorsque le paramètre Temporal Relationship (Relation temporelle) a pour valeur Near (Proche).

Time Unit
Relation attributaire
(Facultatif)

Expression ArcGIS Arcade utilisée pour regrouper les entités. Par exemple, $a["Amount"] == $b["Amount"] regroupe les entités lorsque le champ Amount a la même valeur.

String

arcpy.geoanalytics.GroupByProximity(input_layer, output, spatial_relationship, {spatial_near_distance}, {temporal_relationship}, {temporal_near_distance}, {attribute_relationship})
NomExplicationType de données
input_layer

Entités ponctuelles, linéaires ou surfaciques qui sont groupées.

Feature Layer
output

Classe d’entités en sortie comportant les entités groupées représentée par un nouveau champ nommé group_id.

Feature Class
spatial_relationship

Spécifie le type de relation déterminant le groupement des entités.

  • INTERSECTSLes entités sont groupées lorsque des entités ou des portions d’entités se superposent. Il s’agit de l’option par défaut.
  • TOUCHESLes entités sont groupées avec une autre entité si elles s’intersectent en un sommet, mais qu’elles ne sont pas superposées.
  • NEAR_PLANARLes entités sont groupées si un sommet ou un tronçon se situe dans une distance planaire donnée d’une autre entité.
  • NEAR_GEODESICLes entités sont groupées si un sommet ou un tronçon se situe dans une distance géodésique donnée d’une autre entité.
String
spatial_near_distance
(Facultatif)

Distance utilisée pour grouper les entités proches. Ce paramètre est utilisé uniquement lorsque le paramètre spatial_relationship a pour valeur NEAR_PLANAR ou NEAR_GEODESIC.

Linear Unit
temporal_relationship
(Facultatif)

Spécifie les critères temporels utilisés pour apparier les entités. Lorsque le paramètre est défini sur INTERSECTS ou NEAR, les entités sont groupées lorsque les critères spatiaux et temporels sont remplis. Les données temporelles doivent être activées sur l’entrée pour que cette option soit prise en charge.

  • INTERSECTSLes entités sont groupées lorsque n’importe quelle portion des données temporelles d’une entité se superpose à une autre entité. Il s’agit de l’option par défaut.
  • NEARLes entités sont groupées lorsque les données temporelles d’une entité se situent dans une plage de temps donnée d’une autre entité.
  • NONELes données temporelles ne sont pas utilisées pour grouper les entités.
String
temporal_near_distance
(Facultatif)

Distance temporelle utilisée pour grouper des entités proches. Ce paramètre est utilisé uniquement lorsque le paramètre temporal_relationship a pour valeur Near.

Time Unit
attribute_relationship
(Facultatif)

Expression ArcGIS Arcade utilisée pour regrouper les entités. Par exemple, $a["Amount"] == $b["Amount"] regroupe les entités lorsque le champ Amount a la même valeur.

String

Exemple de code

Exemple d’utilisation de la fonction GroupByProximity (script autonome)

Le script suivant pour la fenêtre Python illustre l’utilisation de la fonction GroupByProximity.

# Name: GroupByProximity.py
# Description: Group roads together that touch
#
# Requirements: An advanced license

# Import system modules
import arcpy

# Set local variables
inFeatures = "C:\myData\cities.gdb\roads"
outname = "groupedRoads"
overlayType = "TOUCHES"

# Run Group By Proximity
result = arcpy.gapro.GroupByProximity(inFeatures, outname, overlayType)