Générer la table de proximité (Analyse)
Récapitulatif
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
Utilisation
La table en sortie contiendra les champs suivants :
Nom de champ
Description
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 des entités en entrée ou en Mètres si le paramètre Method 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 Location est sélectionné (paramètre location défini sur LOCATION dans le script).
Nom de champ
Description
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).
Champ
Description
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é et que la case à cocher Rechercher uniquement l’entité la plus proche n'est pas activée (closest défini à ALL dans le script), et que l'option Nombre max. de résultats les plus proches est laissée à 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 pour le paramètre Method, les entités en entrée doivent être dans une projection adéquate pour une mesure de distance, par exemple des projections équidistantes.
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 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
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 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 GEODESIC est utilisée dans le paramètre Method, 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.
| Boolean |
angle (Facultatif) | Spécifie si les valeurs d'angle de proximité seront 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.
| Boolean |
closest (Facultatif) |
Indique si les entités les plus proches ou plusieurs entités uniquement doivent être retournées.
| 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 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.
| String |
Exemple de code
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")
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)