Localiser des entités le long d'itinéraires (Référencement linéaire)
Récapitulatif
Calcule l'intersection des entités en entrée (ponctuelles, linéaires ou surfaciques) et des itinéraires, et inscrit les informations d'itinéraire et de mesure dans une nouvelle table d'événements.
Utilisation
-
La table en sortie peut être un fichier dBASE ou une table de géodatabase.
-
Le type d'événement doit être POINT lorsque les entités en entrée sont des points et LINE lorsque les entités en entrée sont des lignes ou des polygones.
-
Les résultats sont meilleurs lorsque les entités en entrée et les itinéraires cible se superposent exactement.
Attention :L'utilisation d'un rayon de recherche élargi ou d'une tolérance d'agrégat importante en vue de réduire les écarts entre les entités en entrée et les itinéraires cible peut produire des résultats inattendus.
-
Pour réduire le nombre des entités en entrée qui seront traitées par cet outil, vous pouvez entrer des couches dotées de sélections. Reportez-vous à la rubrique Utilisation des couches et des vues tabulaires pour plus d'informations.
-
La table en sortie peut s'afficher dans ArcMap à l'aide de l'outil Générer une couche d'événements d'itinéraires ou de la commande Afficher les événements d'itinéraires dans ArcMap.
Syntaxe
Paramètre | Explication | Type de données |
in_features |
Entités ponctuelles, linéaires ou surfaciques en entrée. | Feature Layer |
in_routes |
Itinéraires à intersecter avec les entités en entrée. | Feature Layer |
route_id_field |
Champ contenant des valeurs identifiant de manière unique chaque itinéraire. Il peut s'agir d'un champ numérique ou textuel. | Field |
radius_or_tolerance |
Si les entités en entrée sont des points, le rayon de recherche est une valeur numérique définissant la distance autour de chaque point au sein de laquelle un itinéraire cible est recherché. Si les entités en entrée sont des lignes, la tolérance de recherche est réellement une tolérance d'agrégat, c'est-à-dire une valeur numérique représentant la distance tolérée maximale entre les lignes en entrée et les itinéraires cible. Si les entités en entrée sont de type polygone, ce paramètre est ignoré et aucun rayon de recherche n'est utilisé. | Linear unit |
out_table |
Table à créer. | Table |
out_event_properties |
Paramètre composé des champs de localisation d'itinéraire et du type d'événements qui seront écrits dans la table d'événements en sortie.
| Route Measure Event Properties |
route_locations (Facultatif) |
Lorsque vous localisez des points le long des itinéraires, il est possible que plusieurs itinéraires se trouvent dans le rayon de recherche d'un point donné. Ce paramètre est ignoré lorsque vous localisez des lignes ou des polygones le long des itinéraires.
| Boolean |
distance_field (Facultatif) |
Spécifie si un champ nommé DISTANCE doit être ajouté à la table d'événements en sortie. Les valeurs de ce champ sont exprimées dans les mêmes unités que le rayon de recherche spécifié. Ce paramètre est ignoré lorsque vous localisez des lignes ou des polygones le long des itinéraires.
| Boolean |
zero_length_events (Facultatif) |
Lorsque vous localisez des polygones le long des itinéraires, il est possible que des événements soient créés lorsque les mesures de départ et d'arrivée sont égales. Ce paramètre est ignoré lorsque vous localisez des points ou des lignes le long des itinéraires.
| Boolean |
in_fields (Facultatif) |
Spécifie si la table d'événements en sortie doit contenir les champs de localisation d'itinéraire, ainsi que tous les attributs des entités en entrée.
| Boolean |
m_direction_offsetting (Facultatif) |
Spécifie si la distance de décalage calculée doit être basée sur la direction M ou sur le sens de numérisation. Les distances sont comprises dans la table des événements en sortie si la valeur du paramètre distance_field DISTANCE est spécifiée.
| Boolean |
Exemple de code
Le script Python ci-dessous indique comment utiliser la fonction LocateFeaturesAlongRoutes dans la fenêtre Python.
import arcpy
from arcpy import env
env.workspace = "C:/Data"
arcpy.LocateFeaturesAlongRoutes_lr("rail_segments.shp", "rail_routes.shp", "rkey", "0.5 Feet", "locate_lines", "rkey LINE fmp tmp")
Le script Python ci-dessous illustre l'utilisation de la fonction LocateFeaturesAlongRoutes dans un script Python autonome.
# Name: LocateFeaturesAlongRoutes_Example1.py
# Description: Locate shapefile lines along shapefile routes.
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "C:/Data"
# Set local variables
feats = "rail_segments.shp"
rts = "rail_routes.shp"
rid = "rkey"
tol = "0.5 Feet"
tbl = "locate_lines"
props = "rkey LINE fmp tmp"
# Execute LocateFeaturesAlongRoutes
arcpy.LocateFeaturesAlongRoutes_lr(feats, rts, rid, tol, tbl, props)
Le script Python ci-dessous montre comment utiliser la fonction LocateFeaturesAlongRoutes dans un script Python autonome à l'aide de données de géodatabase fichier.
# Name: LocateFeaturesAlongRoutes_Example2.py
# Description: Locate personal geodatabase points along file geodatabase routes.
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "C:/Data/Pitt.gdb"
# Set local variables
feats = "rail/crossings" # crossings is in the rail feature dataset
rts = "rail/routes" # routes is in the rail feature dataset
rid = "rkey"
rad = "10 Feet"
tbl = "locate_points"
props = "rkey POINT mp"
# Execute LocateFeaturesAlongRoutes
arcpy.LocateFeaturesAlongRoutes_lr(feats, rts, rid, rad, tbl, props)
Le script Python ci-dessous montre comment utiliser la fonction LocateFeaturesAlongRoutes dans un script Python autonome à l'aide de données de géodatabase personnelle.
# Name: LocateFeaturesAlongRoutes_Example3.py
# Description: Locate personal geodatabase points along personal geodatabase routes.
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "C:/Data/Pitt.mdb"
# Set local variables
feats = "rail/crossings" # crossings is in the rail feature dataset
rts = "rail/routes" # routes is in the rail feature dataset
rid = "rkey"
rad = "10 Feet"
tbl = "locate_points"
props = "rkey POINT mp"
# Execute LocateFeaturesAlongRoutes
arcpy.LocateFeaturesAlongRoutes_lr(feats, rts, rid, rad, tbl, props)
Le script Python ci-dessous illustre l'utilisation de la fonction LocateFeaturesAlongRoutes dans un script Python autonome à l'aide de données ArcSDE.
# Name: LocateFeaturesAlongRoutes_Example4.py
# Description: Locate enterprise geodatabase polygons along enterprise geodatabase routes.
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "Database Connections/Connection to Jerry.sde"
# Set local variables
feats = gp.QualifyTableName("counties", wkspc) # standalone feature class
rts = gp.QualifyTableName("rail_routes", wkspc) # standalone feature class
rid = "rkey"
tbl = "locate_polys"
props = "rkey LINE fmp tmp"
# Execute LocateFeaturesAlongRoutes
arcpy.LocateFeaturesAlongRoutes_lr(feats, rts, rid, "#", tbl, props, "#", "#", "NO_ZERO", "M_DIRECTION")