Générer la table de proximité (Analyse)

Résumé

Calcule les distances et autres informations de proximité entre les entités dans une ou plusieurs classes d’entités ou couches. À la différence de l’outil Proche, qui modifie l’entrée, l’outil Générer la table de proximité écrit les résultats dans une nouvelle table autonome et permet de rechercher plusieurs entités de proximité.

En savoir plus sur le calcul de la proximité par les outils de géotraitement

Illustration

Générer la table de proximité

Utilisation

  • La table en sortie contiendra les champs suivants :

    Nom de champDescription
    IN_FID

    ObjectID de l'entité en entrée.

    NEAR_FID

    ObjectID de l'entité la plus proche.

    NEAR_DIST

    Distance de l’entité en entrée par rapport à l’entité de proximité. La valeur de ce champ est exprimée dans l’unité linéaire du système de coordonnées de l’entité en entrée ou en mètres si le paramètre Méthode est défini sur GEODESIC et que l’entrée est dans un système de coordonnées géographiques.

    NEAR_FC

    Chemin d'accès du catalogue à la classe d'entités qui contient l'entité Proche. Ce champ n’est ajouté à la table en sortie que si plusieurs Near Features (Entités de proximité) sont spécifiées.

    NEAR_RANK

    Valeur d’entier classant toutes les entités de proximité selon leur proximité par rapport à une entité en entrée individuelle. L’entité la plus proche obtient une valeur NEAR_RANK égale à 1, la deuxième plus proche, une valeur NEAR_RANK égale à 2, etc.

    Les champs suivants sont ajoutés à la table en sortie si le paramètre Location (Emplacement) est sélectionné (paramètre location défini sur LOCATION dans Python). L’unité des valeurs des champs dépend de la méthode sélectionnée dans le paramètre Method (Méthode). S’il est défini sur PLANAR, la valeur est exprimée dans l’unité linéaire du système de coordonnées de l’entité en entrée. S’il est défini sur GEODESIC, la valeur est exprimée dans le système de coordonnées géographiques associé au système de coordonnées de l’entité en entrée.

    Nom de champDescription
    FROM_X

    Coordonnée X de l'emplacement de l'entité de proximité la plus proche de l'entité en entrée.

    FROM_Y

    Coordonnée Y de l'emplacement de l'entité de proximité la plus proche de l'entité en entrée.

    NEAR_X

    Coordonnée X de l’emplacement de l’entité de proximité la plus proche de l’entité en entrée.

    NEAR_Y

    Coordonnée Y de l’emplacement de l’entité de proximité la plus proche de l’entité en entrée.

    Le champ suivant est ajouté à la table en sortie si le paramètre Angle (Angle) est sélectionné (paramètre angle défini sur ANGLE dans le script).

    ChampDescription
    NEAR_ANGLE

    Angle de la ligne aux emplacements FROM_X et FROM_Y qui relie les entités en entrée à l’entité de proximité.

  • Lorsque l'entité en entrée et l'entité de proximité s'intersectent, les valeurs suivantes sont écrites dans la table en sortie :

    • NEAR_ANGLE et NEAR_DIST sont définis sur 0.0.
    • FROM_X et FROM_Y sont identiques à NEAR_X et NEAR_Y et correspondent à un emplacement à l’intersection des deux entités.

  • Les valeurs du champ NEAR_DIST sont exprimées dans l’unité linéaire du système de coordonnées des entités en entrée. SI l’entrée se trouve dans un système de coordonnées géographiques et que le paramètre Method (Méthode) est défini sur GEODESIC, les unités de NEAR_DIST sont des mètres.

  • La table en sortie peut être jointe aux entités en entrée à l’aide du champ IN_FID ou aux entités de proximité à l’aide du champ NEAR_FID.

  • Si un Search Radius (Rayon de recherche) est spécifié et qu’aucune entité de proximité n’est trouvée, aucun enregistrement n’est généré en sortie.

  • Si aucun Search Radius (Rayon de recherche) n’est spécifié, toutes les entités de proximité sont considérées comme des candidats.

  • Si aucun Search Radius (Rayon de recherche) n’est spécifié, que la case Find only closest features (Rechercher uniquement l’entité la plus proche) n’est pas cochée (closest défini sur ALL dans Python) et que l’option Maximum number of closest (Nombre max. de résultats les plus proches) demeure définie sur la valeur par défaut (0 ou vide), la table en sortie contient des calculs de distance entre toutes les entités en entrée et toutes les entités de proximité. Ce type de processus peut prendre du temps et créer une table en sortie volumineuse. Par exemple, si vous avez mille entités en entrée et mille entités de proximité, la table en sortie contient un million d'enregistrements.

  • La même classe d'entités ou couche peut être utilisée à la fois sur des entités en entrée et de proximité. Dans ce cas, l'entité en entrée en cours d'évaluation est exclue des candidats d'entités en entrée, afin d'éviter que toutes les entités soient les plus proches d'elles-mêmes.

  • Lorsque vous utilisez l’option Planar (Planaire) pour le paramètre Method (Méthode), les entités en entrée doivent se trouver dans une projection adéquate pour la mesure de distance (par exemple, une projection équidistante).

    En savoir plus sur les systèmes de coordonnées et projections

  • Pour visualiser les emplacements FROM_X, FROM_Y, NEAR_X et NEAR_Y, la couche en sortie peut être utilisée en tant qu’entrée pour l’outil Générer une couche d’événements XY ou XY vers lignes.

Syntaxe

arcpy.analysis.GenerateNearTable(in_features, near_features, out_table, {search_radius}, {location}, {angle}, {closest}, {closest_count}, {method})
ParamètreExplicationType de données
in_features

Entités en entrée qui peuvent être de type point, polyligne, polygone ou multi-points.

Feature Layer
near_features
[near_features,...]

Une ou plusieurs couches de classes d’entités contenant des candidats d’entités de proximité. Les entités en entrée de proximité peuvent être de type point, polyligne, polygone ou multi-points. Si plusieurs couches ou classes d’entités sont spécifiées, un champ nommé NEAR_FC est ajouté à la table en entrée pour stocker les chemins de la classe d’entités source contenant l’entité la plus proche trouvée. La même classe d'entités ou couche peut être utilisée à la fois sur des entités en entrée et de proximité.

Feature Layer
out_table

Table en sortie contenant le résultat de l'analyse.

Table
search_radius
(Facultatif)

Rayon utilisé pour rechercher les entités de proximité. Si aucune valeur n’est spécifiée, toutes les entités de proximité sont candidates. Si une distance est saisie, mais que l’unité est laissée vide ou définie comme étant inconnue, les unités du système de coordonnées des entités en entrée sont utilisées. Si l’option Geodesic (Géodésique) est utilisée dans le paramètre Method (Méthode), vous devez utiliser une unité linéaire telle que le kilomètre ou le mile.

Linear Unit
location
(Facultatif)

Indique si les coordonnées x et y de l’emplacement de l’entité en entrée et de l’emplacement le plus proche de l’entité de proximité sont écrites dans les champs FROM_X, FROM_Y, NEAR_X et NEAR_Y.

  • NO_LOCATION Les emplacements ne sont pas écrits dans la table en sortie. Il s’agit de l’option par défaut.
  • LOCATION Les emplacements sont écrits dans la table en sortie.
Boolean
angle
(Facultatif)

Spécifie si les valeurs d’angle de proximité sont calculées et écrites dans un champ NEAR_ANGLE dans la table en sortie. Un angle de proximité mesure la direction de la ligne qui connecte une entité en entrée avec son entité la plus proche à leurs emplacements les plus proches. Lorsque la méthode PLANAR est utilisée dans le paramètre method, l’angle se situe dans la plage -180° à 180°, avec 0° à l’est, 90° au nord, 180° (ou -180°) à l’ouest et -90° au sud. Lorsque la méthode GEODESIC est utilisée, l'angle se situe dans la plage -180° à 180°, avec 0° au nord, 90° à l'est, 180° (ou -180°) au sud et -90° à l'ouest.

  • NO_ANGLELa valeur NEAR_ANGLE n’est pas ajoutée à la table en sortie. Il s’agit de l’option par défaut.
  • ANGLELa valeur NEAR_ANGLE est ajoutée à la table en sortie.
Boolean
closest
(Facultatif)

Indique si les entités les plus proches ou plusieurs entités uniquement doivent être retournées.

  • CLOSESTSeul l’emplacement de l’entité la plus proche est écrit dans la table en sortie. Il s’agit de l’option par défaut.
  • ALLPlusieurs entités de proximité sont écrites dans la table en sortie (vous pouvez préciser une limite dans le paramètre closest_count).
Boolean
closest_count
(Facultatif)

Limitez le nombre d’entités de proximité signalées pour chaque entité en entrée. Ce paramètre est ignoré si le paramètre closest est défini sur CLOSEST.

Long
method
(Facultatif)

Détermine s’il convient d’utiliser un plus court chemin sur une sphéroïde (géodésique) ou une terre plate (plane). Il est fortement conseillé d’utiliser la méthode Geodesic (Géodésique) avec des données stockées dans un système de coordonnées non approprié pour les mesures de distance (par exemple, Web Mercator et tout système de coordonnées géographiques) ou tout jeu de données couvrant une zone géographique importante.

  • PLANARUtilise des distances planes entre les entités. Il s’agit de l’option par défaut.
  • GEODESICUtilise des distances géodésiques entre les entités. Cette méthode tient compte de la courbure de la sphéroïde et gère correctement les données situées près de la ligne de changement de jour et des pôles.
String

Exemple de code

1er exemple d'utilisation de l'outil GenerateNearTable (fenêtre Python)

L’exemple ci-dessous illustre l’utilisation de la fonction GenerateNearTable dans une fenêtre Python.

import arcpy

arcpy.env.workspace = "C:/data/input/gnt.gdb"

arcpy.GenerateNearTable_analysis("campsites", ["parks", "trails"], "better_sites")
Exemple 2 d’utilisation de l’outil GenerateNearTable (script autonome)

Le script Python ci-dessous illustre l'utilisation de l'outil GenerateNearTable dans un script autonome.

# Name: GenerateNearTable.py
# Description: Finds 3 nearest in the near feature class from the input feature class.


# import system modules
import arcpy

# set workspace environment
arcpy.env.workspace = "C:/data/input/gnt.gdb"

# set required parameters 
in_features = "campsites"
near_features = ["parks", "trails"]
out_table = "near_parks_trails"

# optional parameters
search_radius = '1500 Meters'
location = 'NO_LOCATION'
angle = 'NO_ANGLE'
closest = 'ALL'
closest_count = 3

# find crime locations within the search radius
arcpy.GenerateNearTable_analysis(in_features, near_features, out_table, search_radius, 
                                 location, angle, closest, closest_count)

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes