Superposer des événements d'itinéraires (Référencement linéaire)
Récapitulatif
Superpose deux tables d'événements pour créer une table d'événements en sortie qui représente l'union ou l'intersection des données en entrée.
Utilisation
-
Il est possible d'effectuer des superpositions d'événements ligne sur ligne, ligne sur point, point sur ligne, voire point sur point.
-
Les événements en entrée et superposés doivent être basés sur la même référence d'itinéraire.
-
Les tables en entrée peuvent être tout type de table pris en charge par ArcGIS. La table en sortie peut être un fichier dBASE ou une table de géodatabase.
-
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.
-
Si les propriétés d'événement en entrée et superposé sont toutes deux de type POINT, les propriétés d'événement en sortie doivent être définies également en tant que type POINT.
-
Si les propriétés d'événement en entrée et superposés sont toutes deux de type LIGNE, les propriétés d'événement en sortie doivent être définies également en tant que type LIGNE.
-
Si soit la propriété d'événement en entrée soit la propriété d'événement superposé est de type POINT, les propriétés d'événement en sortie doivent être définies en tant que type POINT lors d'une superposition INTERSECT. Les propriétés d'événement en sortie doivent être définies en tant que type LIGNE lors d'une superposition UNION.
-
Si les propriétés d'événement en entrée et superposés sont toutes deux de type POINT, seul les points ayant exactement la même valeur de mesure sont pris en compte pour l'intersection. Il n'y a aucune tolérance de recherche.
-
Un index attributaire sur le champ d'identifiant d'itinéraire accélère le processus de segmentation dynamique. Si vous prévoyez d'utiliser la Table d'événements en sortie pour la segmentation dynamique, il est recommandé de créer un index attributaire.
-
Utilisez l'outil Générer une vue tabulaire avant cet outil pour réduire efficacement le nombre d'événements qui seront traités.
-
Si soit les événements en entrée soit les événements superposés n'ont pas de champ ObjectID, utilisez l'outil Générer une table de requête avant cet outil pour ajouter un champ ObjectID virtuel.
Syntaxe
Paramètre | Explication | Type de données |
in_table |
Table d'événements en entrée. | Table View |
in_event_properties |
Paramètre composé des champs de localisation d'itinéraire et du type d'événements dans la table d'événements en entrée.
| Route Measure Event Properties |
overlay_table |
Table d'événements superposés. | Table View |
overlay_event_properties |
Paramètre constitué des champs de localisation d'itinéraire et du type d'événement dans la table des événements superposés. Champ d'identifiant d'itinéraire — Champ contenant des valeurs indiquant les itinéraires le long de chaque événement. Il peut s'agir d'un champ numérique ou textuel. Type d'événement — Le type d'événement dans la table des événements superposés (POINT ou LINE).
Champ M de départ — Champ contenant des valeurs de mesure. Ce champ, qui doit être numérique, est nécessaire lorsque le type d'événement est POINT ou LINE. Lorsque le type d'événement est POINT, l'appellation de ce paramètre devient "Champ de mesure". Champ M d'arrivée — Champ contenant des valeurs de mesure. Ce champ, qui doit être numérique, est nécessaire lorsque le type d'événement est LINE. | Route Measure Event Properties |
overlay_type |
Type de superposition à réaliser.
| String |
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 |
zero_length_events (Facultatif) |
Spécifie s'il convient ou non de conserver les événements linéaires de longueur nulle dans la table en sortie. Ce paramètre est valide uniquement si le type d'événement en sortie est LINE.
| Boolean |
in_fields (Facultatif) |
Spécifie si tous les champs issus des tables d'événements en entrée et superposés doivent être inscrits dans la table d'événements en sortie.
| Boolean |
build_index (Facultatif) |
Spécifie si un index attributaire est créé pour le champ d'identifiant d'itinéraire inscrit dans la table d'événements en sortie.
| Boolean |
Exemple de code
import arcpy
from arcpy import env
env.workspace = "C:/Data"
arcpy.OverlayRouteEvents_lr ("accident.dbf", "rkey POINT mile" , "pavecond.dbf", "rkey LINE fmp tmp", "INTERSECT", \
"accpav", "rkey POINT mile" )
Le script Python ci-dessous illustre l'utilisation de la fonction Superposer des événements d'itinéraires dans un script Python autonome.
# NAme: OverlayRouteEvents_Example.py
# Description: Point-on-line INTERSECT overlay (both tables are dBASE)
# Author: ESRI
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "C:/Data"
# Set local variables
in_tbl = "accident.dbf"
in_props = "rkey POINT mile" # reused as out event properties
ov_tbl = "pavecond.dbf"
ov_props = "rkey LINE fmp tmp"
out_tbl = "accpav"
# Execute OverlayRouteEvents
arcpy.OverlayRouteEvents_lr (in_tbl, in_props, ov_tbl, ov_props, "INTERSECT", \
out_tbl, in_props)
Le script Python suivant illustre l'utilisation de la fonction Superposer des événements d'itinéraires dans un script Python autonome à l'aide de données de géodatabase fichier.
# Name OverlayRouteEvents_Example2.py
# Description: Line-on-line UNION overlay (both tables are in a file geodatabase)
# Author: ESRI
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "C:/Data/Pitt.gdb"
# Set local variables
in_tbl = "pavecond"
in_props = "rkey LINE fmp tmp" # reused as overlay and out event properties
ov_tbl = "pavetype"
out_tbl = "condtype"
# Execute OverlayRouteEvents
arcpy.OverlayRouteEvents_lr (in_tbl, in_props, ov_tbl, in_props, "UNION", \
out_tbl, in_props, "NO_ZERO")
Le script Python suivant illustre l'utilisation de la fonction Superposer des événements d'itinéraires dans un script Python autonome à l'aide de données de géodatabase personnelle.
# Name: OverlayRouteEvents_Example3.py
# Description: Line-on-line UNION overlay (both tables are in a personal geodatabase)
# Author: ESRI
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "C:/Data/Pitt.mdb"
# Set local variables
in_tbl = "pavecond"
in_props = "rkey LINE fmp tmp" # reused as overlay and out event properties
ov_tbl = "pavetype"
out_tbl = "condtype"
# Execute OverlayRouteEvents
arcpy.OverlayRouteEvents_lr (in_tbl, in_props, ov_tbl, in_props, "UNION", \
out_tbl, in_props, "NO_ZERO")
Le script Python ci-dessous illustre l'utilisation de la fonction Superposer des événements d'itinéraires dans un script Python autonome à l'aide de données ArcSDE.
# Name: OverlayRouteEvents_Example4.py
# Description: Point-on-line INTERSECT overlay (both tables are in enterprise geodatabase)
# Import system modules
import arcoy
from arcpy import env
# Set workspace
env.workspace = "Database Connections/Connection to Jerry.sde"
# Set local variables
in_tbl = gp.QualifyTableName("accident", wkspc)
in_props = "rkey POINT mile"
ov_tbl = gp.QualifyTableName("pavecond", wkspc)
ov_props = "rkey LINE fmp tmp"
out_tbl = "accpav"
out_props = "routekey POINT milepost" # names are changed for out table
# Execute OverlayRouteEvents
arcpy.OverlayRouteEvents_lr (in_tbl, in_props, ov_tbl, ov_props, "INTERSECT", \
out_tbl, out_props)