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
Utilisation
La table en sortie contient les champs suivants :
- 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é. L’unité de distance de 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 Géodésique et que l’entrée se trouve 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é de proximité. Ce champ est ajouté à la table en sortie uniquement si plusieurs valeurs 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 égale à 1, la deuxième plus proche obtient une valeur é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é des valeurs des champs dépend de la méthode sélectionnée dans le paramètre Méthode. S’il est défini sur Planaire, 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 Géodésique, 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.
- FROM_X— Coordonnée X de l’emplacement de l’entité en entrée la plus proche de l’entité de proximité.
- FROM_Y— Coordonnée Y de l’emplacement de l’entité en entrée la plus proche de l’entité de proximité.
- 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 est sélectionné (paramètre angle défini sur ANGLE dans le script).
- 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 est un emplacement dans 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 Méthode est défini sur Géodésique, 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 le paramètre 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 le paramètre Rayon de recherche n’est pas spécifié, toutes les entités de proximité sont considérées comme des candidats.
Si le paramètre Rayon de recherche n’est pas spécifié, si la case Rechercher uniquement l’entité la plus proche n’est pas sélectionnée et si l’option Nombre max. de résultats les plus proches correspond au paramètre défini 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 processus peut prendre du temps et produire 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 pour les 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, utilisez une projection pour les entités en entrée qui soit appropriée pour une mesure de distance comme une projection équidistante.
Pour en savoir plus sur les systèmes de coordonnées géographiques et projetées
Pour visualiser les emplacements FROM_X, FROM_Y, NEAR_X et NEAR_Y, la table 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ètre | Explication | Type 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 de proximité peuvent être de type point, polyligne, polygone ou multi-points. Si plusieurs couches ou classes d’entités sont spécifiées, le champ 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 pour les 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 est utilisée pour le paramètre method, utilisez une unité linéaire, telle que les kilomètres ou les miles. | 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.
| Boolean |
angle (Facultatif) | Spécifie si les valeurs d’angle de proximité sont calculées et écrites dans le 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 pour 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 pour le paramètre method, 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.
| Boolean |
closest (Facultatif) | Spécifie si seule l’entité la plus proche est écrite dans la table en sortie.
| 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) | Indique s’il convient d’utiliser un plus court chemin sur un sphéroïde (géodésique) ou une méthode de distance Terre plate (plane). Il est recommandé d’utiliser la méthode GEODESIC avec des données stockées dans un système de coordonnées non approprié pour les mesures de distance (par exemple, Web Mercator ou tout système de coordonnées géographiques) or tout jeu de données couvrant une zone géographique importante.
| 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 la 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 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)
Environnements
Informations de licence
- Basic: Non
- Standard: Non
- Advanced: Oui