Skip To Content

Générer la table de proximité

Résumé

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

Pour 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 est ajouté à la table en sortie uniquement lorsque plusieurs 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 obtient une valeur NEAR_RANK égale à 2, etc.

    Les champs suivants seront ajoutés à la table en sortie si le paramètre Emplacement est sélectionné (paramètre location défini sur LOCATION dans Python). L'unité de valeur des champs dépend de la méthode sélectionnée dans le paramètre 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é en entrée la plus proche de chaque entité.

    FROM_Y

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

    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 sera ajouté à la table en sortie si le paramètre 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 à 0.0.
    • FROM_X et FROM_Y sont identiques à NEAR_X et NEAR_Y est un emplacement dans l'intersection des deux entités.

  • Les valeurs dans le champNEAR_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 est dans un système de coordonnées géographiques et que le paramètre Method 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 grâce au champ IN_FIDou aux entités de proximité grâce au champ NEAR_FID.

  • Si un Rayon de recherche est spécifié et qu'aucune entité de proximité n'est trouvée, aucun enregistrement ne sera généré en sortie.

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

  • Si aucun rayon de recherche n'est spécifié, que la case à cocher Rechercher uniquement l’entité la plus proche n'est pas activée (closest défini sur ALL dans Python), et que l'option 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 Planaire pour le paramètre Méthode, les entités en entrée doivent être dans une projection adéquate pour une 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

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 ou 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 aucun 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 Géodésique est utilisée dans le paramètre Méthode, vous devez utiliser une unité linéaire telle que le kilomètre ou le mètre.

Linear unit
location
(Facultatif)

Spécifie 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 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)

Voici une utilisation de la fonction GenerateNearTable dans la fenêtre Python.

import arcpy

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

arcpy.GenerateNearTable_analysis("campsites", ["parks", "trails"], "better_sites")
2e exemple d'utilisation de l'outil GenerateNearTable (script Python autonome)

Le script Python ci-dessous illustre l'utilisation de la fonction 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: Non
  • Standard: Non
  • Advanced: Oui

Rubriques connexes