Ajouter des itinéraires (Location Referencing)

Disponible avec la licence Location Referencing.

Synthèse

Ajoute des itinéraires à partir d’une couche de polylignes en entrée à un réseau LRS.

Remarque :

Lorsque la couche cible est une couche de service d’entités, les résultats de validation sont écrits sur un fichier dans le répertoire ArcGIS Server. Par défaut, ce fichier est nettoyé automatiquement au bout de 10 minutes, ce qui risque de ne pas laisser suffisamment de temps pour le traitement de toutes les validations et leur écriture sur le poste de travail exécutant ArcGIS Pro Pour des charges de données plus importantes, il est recommandé de régler l’âge maximal du fichier sur une heure, au minimum. Vous pouvez mettre à jour un répertoire de serveur dans ArcGIS Server Manager pour ajuster ce paramètre.

Utilisation

  • Un jeu de données LRS est requis pour exécuter cet outil.

  • Cet outil prend en charge l’ajout d’itinéraires sur des axes médians existants lorsque le paramètre Prendre en compte les axes médians existants est coché.

    • Si les axes médians ne sont pas pris en compte, cet outil crée des axes médians dans le jeu de données LRS cible, ainsi que des itinéraires dans le réseau LRS cible.
    • Si les axes médians sont pris en compte, cet outil associe des itinéraires à des axes médians existants dans le jeu de données LRS cible qui ont une géométrie qui correspondant parfaitement aux itinéraires source. Si l’axe médian que vous ajoutez à un itinéraire ne comporte pas d’ID d’axe médian, ce dernier est créé et un enregistrement de séquence d’axe médian est ajouté. Si un ID d’axe médian existe déjà lorsque vous ajoutez un itinéraire, l’enregistrement de la séquence d’axe médian existante est mise à jour en fonction de l’ID de l’itinéraire ajouté.
  • Lorsque le paramètre Tenir compte des axes médians existants est activé, les conditions suivantes génèrent une erreur qui doit être résolue pour que les itinéraires source puissent être ajoutés :

    • L’ajout de l’entité d’itinéraire requiert un fractionnement des axes médians.
    • Les géométries x, y et z des axes médians et des itinéraires ne correspondent pas.
    • Un axe médian est une correspondance partielle (par exemple, si une partie de l’axe médian se trouve en dehors de la tolérance x, y et z).
    • Un itinéraire ajouté possède un ou plusieurs axes médians correspondant à la géométrie, mais certaines localisations sont dépourvues d’axe médian.
    • Les superpositions d’axes médians sont détectées.
    • Aucun axe médian ne correspond à un itinéraire ajouté.
    • Les itinéraires source ou les axes médians existants ont une longueur nulle ou proche de zéro ce qui génère des écarts dans la géométrie en raison du processus d’agrégation. Le processus d’agrégation capture deux points à la fois si la distance qui les sépare est inférieure ou égale au calcul suivant :
      1,01 * sqrt(2) * (2 * tolérance + 2 * résolution)
      Pour plus d’informations sur l’agrégation, reportez-vous à la rubrique Principes de base des classes d’entités.
  • Les itinéraires en sortie possèdent les valeurs x, y et z des sommets des polylignes en entrée, mais aucune valeur m n'est ajoutée.

  • Créez les champs à utiliser pour l'appariement des champs dans la classe d'entités Réseau LRS sous-jacente avant d'ajouter des itinéraires.

  • La référence spatiale, la résolution x,y et la tolérance x,y de la classe d’entités polylignes en entrée et du réseau LRS cible doivent correspondre.

  • Un fichier texte, qui indique que l’outil a été exécuté, est écrit en local. Il contient des informations sur les itinéraires dont la validation échoue. Les messages de l’outil indiquent l’emplacement du fichier texte, qui se trouve dans le répertoire temporaire.

  • Lorsque le paramètre Autoriser le chargement partiel des itinéraires est activé, les conditions suivantes sont prises en charge :

    • Les itinéraires source valides sont toujours ajoutés au réseau LRS cible même si la validation de certains itinéraires source échoue.
    • L’outil fournit une classe d’entités qui comporte les itinéraires source dont la validation échoue. Vous pouvez utiliser les informations du fichier texte pour résoudre les itinéraires source qui posent problème.
      Remarque :

      La classe d’entités créée est temporaire et est supprimée à la fermeture d’ArcGIS Pro. Pour effectuer une copie de la classe d’entités, cliquez avec le bouton droit sur la couche dans la fenêtre Contenu et sélectionnez Données > Exporter des entités, ou utilisez l’outil Exporter des entités.

  • La sortie de cet outil correspond à un réseau LRS modifié auquel des itinéraires ont été ajoutés et pour lequel des entités d’axe médian ont été créées.

  • Lorsque la prévention des conflits est activée, les conditions suivantes sont prises en charge :

    • Si les itinéraires à ajouter sont nouveaux, aucun verrou n'est acquis pour ces itinéraires.
    • Pour les autres types de charge, tels que Retire by route ID (Retirer par ID d’itinéraire) et Replace by route ID (Remplacer par ID d’itinéraire), des verrous sont automatiquement acquis, le cas échéant.
    • Si les verrous ne peuvent pas être acquis, l’outil ne s’exécutera pas et fournira un fichier texte des verrous fautifs.
    • Si vous utilisez la version par défaut, les verrous acquis seront automatiquement libérés une fois l’exécution de l’outil terminée.
    • Si vous utilisez une version nommée, les verrous acquis resteront à l’état libérable On Post (Sur réinjection), une fois l’exécution de l’outil terminée. Publiez ou supprimez la version pour libérer les verrous.
    • Si vous utilisez une version nommée et que l’exécution de l’outil est annulée par une interruption, les verrous acquis garderont le statut libérable Yes (Oui). Le propriétaire des verrous peut libérer les verrous.

    En savoir plus sur la libération des verrous dans ArcGIS Pipeline Referencing ou la libération des verrous dans ArcGIS Roads and Highways.

    En savoir plus sur la prévention des conflits dans ArcGIS Pipeline Referencing ou sur la prévention des conflits dans ArcGIS Roads and Highways.

  • Si la classe d’entités polylignes contient des courbes, les courbes sont densifiées.

    En savoir plus sur les courbes dans ArcGIS Pipeline Referencing ou sur les courbes dans ArcGIS Roads and Highways.

  • Si le réseau LRS cible est configuré en tant que réseau linéaire avec prise en charge d’un ID d’itinéraire à champs multiples, les paramètres suivants ne sont pas requis pour l’ajout d’itinéraires :

    • Champ de nom d’itinéraire
    • Champ de nom de ligne
  • Lorsque vous ajoutez de nouveaux itinéraires à l’aide de la valeur de paramètre Add (Ajouter) pour le paramètre Load Type (Type de charge), si un nom d’itinéraire est configuré sur le réseau LRS cible, les itinéraires peuvent être ajoutés à l’aide du nom d’itinéraire. Si les ID d’itinéraire ont des valeurs nulles, ils sont automatiquement générés pour les itinéraires ajoutés.

  • L’outil vérifie que les valeurs d’ordre de ligne sont supérieures à zéro et incrémentées de 100, le flux et la direction des itinéraires étant linéaires. Si les valeurs d’ordre de ligne sont incorrectes, l’outil échouera. Le fichier texte en sortie signale les valeurs d’ordre de ligne incorrectes sous forme d’erreurs. L’outil s’exécutera normalement une fois ces erreurs résolues.

  • L’outil recherche un réseau de distribution configuré avec le réseau LRS sur lequel les itinéraires sont chargés. Si un réseau de distribution est trouvé, l’outil prend en compte les axes médians existants lors de l’ajout d’itinéraires et le paramètre Prendre en compte les axes médians existants est masqué dans le volet Géotraitement.

    En savoir plus sur la gestion de Pipeline Referencing avec un réseau de distribution

  • L’exécution de cet outil échoue si le paramètre Load Type (Type de charge) est défini sur Replace by route ID (Remplacer par ID d’itinéraire) ou Retire by route ID (Retirer par ID d’itinéraire) et que l’itinéraire source ne comporte pas les mêmes valeurs de nom d’itinéraire et d’ID d’itinéraire que l’itinéraire cible.

  • Si la valeur du paramètre Replace by route ID (Remplacer par ID d’itinéraire) est spécifiée pour le paramètre Load Type (Type de charge), les enregistrements de la séquence d’axe médian et de l’itinéraire seront remplacés dans les itinéraires remplacés. Les points de calibrage de l’itinéraire sont supprimés et doivent être recréés ou rechargés.

  • Si le réseau LRS est configuré à l’aide de la solution Address Data Management, le paramètre Consider existing centerlines (Tenir compte des axes médians existants) est sélectionné par défaut.

Paramètres

ÉtiquetteExplicationType de données
Itinéraires source

Entrée de laquelle les itinéraires sont dérivés. L'entrée peut correspondre à une classe d’entités polylignes, un shapefile, un service d'entités ou une classe d'entités Réseau LRS.

Feature Layer
Réseau LRS

Réseau LRS cible où les itinéraires seront chargés.

Feature Layer
Champ d’ID d’itinéraire

Champ dans la classe d’entités polylignes en entrée qui sera apparié au champ d’ID d’itinéraire de réseau LRS. Le champ doit être de type chaîne ou GUID et doit correspondre au type de champ RouteID du réseau LRS cible. S’il s’agit d’un champ de type chaîne, ce dernier doit être d’une longueur inférieure ou égale à celle du champ RouteID cible.

Field
Champ de nom d’itinéraire

Champ dans la classe d’entités polylignes en entrée qui sera apparié au champ de nom d’itinéraire de réseau LRS. Ce champ doit être de type chaîne et d'une longueur inférieure ou égale à celle du champ du nom d'itinéraire cible.

Field
Champ de date de début
(Facultatif)

Champ de date dans la classe d’entités polylignes en entrée qui sera apparié au champ de date de début d’itinéraire du réseau LRS. Si ce champ n'est pas apparié, une valeur nulle représentant l'heure de début est fournie pour tous les itinéraires ajoutés.

Field
Champ de date de fin
(Facultatif)

Champ de date dans la classe d’entités polylignes en entrée qui sera apparié au champ de date de fin du réseau LRS. Si le champ n’est apparié, une valeur nulle représentant l’heure de fin est fournie pour tous les itinéraires ajoutés.

Field
Champ d’ID de ligne
(Facultatif)

Champ dans la classe d’entités polylignes en entrée qui sera apparié au champ d’ID de ligne du réseau LRS. Ce paramètre n'est utilisé que si le réseau LRS cible est un réseau linéaire LRS. Le type et la longueur du champ doivent correspondre à ceux du champ d’ID de la table de séquences d’axe médian.

Field
Champ de nom de ligne
(Facultatif)

Champ de type chaîne dans la classe d’entités polylignes en entrée qui sera apparié au champ de nom de ligne du réseau LRS. Ce paramètre n'est utilisé que si le réseau LRS cible est un réseau linéaire LRS.

Field
Champ d’ordre de ligne
(Facultatif)

Champ de type entier long dans la classe d’entités polylignes en entrée qui sera apparié au champ d’ordre de ligne du réseau LRS. Ce paramètre n'est utilisé que si le réseau LRS cible est un réseau linéaire LRS.

En savoir plus sur les réseaux linéaires et l'ordre des lignes dans Pipeline Referencing ou les réseaux linéaires et l'ordre des lignes dans Roads and Highways.

Field
Appariement des champs
(Facultatif)

Contrôle le mode de transfert des informations attributaires des champs d'itinéraire source vers le réseau LRS en entrée. Il n'est pas possible d'ajouter des champs au réseau LRS cible ou d'en supprimer car les données des itinéraires source sont ajoutées à un réseau LRS existant dont la structure est prédéfinie. Vous pouvez définir des règles de combinaison pour chaque champ en sortie, mais l’outil les ignorera.

Field Mappings
Type de charge
(Facultatif)

Indique la manière dont les itinéraires ajoutés avec des superpositions de mesures ou de temporalités et possédant des ID d’itinéraire identiques sont chargés dans la classe d’entités de réseau.

  • AjouterLes itinéraires ajoutés sont chargés dans le réseau LRS cible. Si un ID d’itinéraire dans les itinéraires source existe déjà dans le réseau LRS cible avec la même temporalité, il sera écrit dans le journal en sortie en tant qu’itinéraire en double et doit être corrigé ou filtré avant la fin du processus de chargement. Il s’agit de l’option par défaut.
  • Retirer par ID d'itinéraireLes itinéraires ajoutés seront chargés dans le réseau LRS cible et les itinéraires dans le réseau LRS cible qui possèdent les mêmes ID d’itinéraire et superposition de temporalité que les itinéraires ajoutés seront retirés. Si l'itinéraire ajouté éclipse un itinéraire cible possédant le même ID d'itinéraire, l'itinéraire cible est supprimé.
  • Remplacer par ID d’itinéraireLes itinéraires ajoutés seront chargés dans le réseau LRS cible et les itinéraires dans le réseau LRS cible qui possèdent le même ID d’itinéraire que les itinéraires ajoutés seront supprimés.
String
Charger le champ
(Facultatif)

Indique le champ qui sera utilisé pour le chargement des itinéraires.

  • ID d'itinéraireLes itinéraires seront chargés à l’aide du champ d’ID d’itinéraire. Il s’agit de l’option par défaut.
  • Nom de l\'itinéraireLes itinéraires seront chargés à l’aide du champ de nom d’itinéraire. Cette option est uniquement disponible pour les réseaux sur lesquels les noms d’itinéraire sont configurés dans le réseau LRS lorsque le paramètre Type de charge est défini sur Ajouter.
String
Prendre en compte les axes médians existants
(Facultatif)

Indique si des itinéraires seront ajoutés à des axes médians existants.

  • Coché : les itinéraires seront ajoutés à l’aide des axes médians existants et aucun nouvel axe médian ne sera créé.
  • Désactivé : de nouveaux axes médians seront créés pour les itinéraires ajoutés. Il s’agit de l’option par défaut.

Boolean
Autoriser le chargement partiel des itinéraires
(Facultatif)

Indique si les itinéraires valides sont ajoutés même si la validation de certains itinéraires échoue.

  • Activé : les itinéraires valides sont ajoutés même si la validation de certains itinéraires échoue.
  • Désactivé : aucun itinéraire n’est ajouté si la validation de certains itinéraires échoue. Il s’agit de l’option par défaut.

Boolean

Sortie obtenue

ÉtiquetteExplicationType de données
Réseau LRS

Couche d’entités de réseau LRS mise à jour.

Feature Layer
Fichier de résultats en sortie

Fichier texte qui détaille les modifications apportées par l’outil.

Text File
Itinéraires ignorés

Classe d’entités qui comporte les itinéraires source dont la validation échoue.

Feature Class

arcpy.locref.AppendRoutes(source_routes, in_lrs_network, route_id_field, route_name_field, {from_date_field}, {to_date_field}, {line_id_field}, {line_name_field}, {line_order_field}, {field_map}, {load_type}, {load_field}, {consider_existing_centerlines}, {allow_partial_loading})
NomExplicationType de données
source_routes

Entrée de laquelle les itinéraires sont dérivés. L'entrée peut correspondre à une classe d’entités polylignes, un shapefile, un service d'entités ou une classe d'entités Réseau LRS.

Feature Layer
in_lrs_network

Réseau LRS cible où les itinéraires seront chargés.

Feature Layer
route_id_field

Champ dans la classe d’entités polylignes en entrée qui sera apparié au champ d’ID d’itinéraire de réseau LRS. Le champ doit être de type chaîne ou GUID et doit correspondre au type de champ RouteID du réseau LRS cible. S’il s’agit d’un champ de type chaîne, ce dernier doit être d’une longueur inférieure ou égale à celle du champ RouteID cible.

Field
route_name_field

Champ dans la classe d’entités polylignes en entrée qui sera apparié au champ de nom d’itinéraire de réseau LRS. Ce champ doit être de type chaîne et d'une longueur inférieure ou égale à celle du champ du nom d'itinéraire cible.

Field
from_date_field
(Facultatif)

Champ de date dans la classe d’entités polylignes en entrée qui sera apparié au champ de date de début d’itinéraire du réseau LRS. Si ce champ n'est pas apparié, une valeur nulle représentant l'heure de début est fournie pour tous les itinéraires ajoutés.

Field
to_date_field
(Facultatif)

Champ de date dans la classe d’entités polylignes en entrée qui sera apparié au champ de date de fin du réseau LRS. Si le champ n’est apparié, une valeur nulle représentant l’heure de fin est fournie pour tous les itinéraires ajoutés.

Field
line_id_field
(Facultatif)

Champ dans la classe d’entités polylignes en entrée qui sera apparié au champ d’ID de ligne du réseau LRS. Ce paramètre n'est utilisé que si le réseau LRS cible est un réseau linéaire LRS. Le type et la longueur du champ doivent correspondre à ceux du champ d’ID de la table de séquences d’axe médian.

Field
line_name_field
(Facultatif)

Champ de type chaîne dans la classe d’entités polylignes en entrée qui sera apparié au champ de nom de ligne du réseau LRS. Ce paramètre n'est utilisé que si le réseau LRS cible est un réseau linéaire LRS.

Field
line_order_field
(Facultatif)

Champ de type entier long dans la classe d’entités polylignes en entrée qui sera apparié au champ d’ordre de ligne du réseau LRS. Ce paramètre n'est utilisé que si le réseau LRS cible est un réseau linéaire LRS.

En savoir plus sur les réseaux linéaires et l'ordre des lignes dans Pipeline Referencing ou les réseaux linéaires et l'ordre des lignes dans Roads and Highways.

Field
field_map
(Facultatif)

Contrôle le mode de transfert des informations attributaires des champs d'itinéraire source vers le réseau LRS en entrée. Il n'est pas possible d'ajouter des champs au réseau LRS cible ou d'en supprimer car les données des itinéraires source sont ajoutées à un réseau LRS existant dont la structure est prédéfinie (définitions de champ). Vous pouvez définir des règles de combinaison pour chaque champ en sortie, mais l’outil les ignorera. La classe ArcPy FieldMappings permet de définir ce paramètre.

Field Mappings
load_type
(Facultatif)

Indique la manière dont les itinéraires ajoutés avec des superpositions de mesures ou de temporalités et possédant des ID d’itinéraire identiques sont chargés dans la classe d’entités de réseau.

  • ADDLes itinéraires ajoutés sont chargés dans le réseau LRS cible. Si un ID d’itinéraire dans les itinéraires source existe déjà dans le réseau LRS cible avec la même temporalité, il sera écrit dans le journal en sortie en tant qu’itinéraire en double et doit être corrigé ou filtré avant la fin du processus de chargement. Il s’agit de l’option par défaut.
  • RETIRE_BY_ROUTE_IDLes itinéraires ajoutés seront chargés dans le réseau LRS cible et les itinéraires dans le réseau LRS cible qui possèdent les mêmes ID d’itinéraire et superposition de temporalité que les itinéraires ajoutés seront retirés. Si l'itinéraire ajouté éclipse un itinéraire cible possédant le même ID d'itinéraire, l'itinéraire cible est supprimé.
  • REPLACE_BY_ROUTE_IDLes itinéraires ajoutés seront chargés dans le réseau LRS cible et les itinéraires dans le réseau LRS cible qui possèdent le même ID d’itinéraire que les itinéraires ajoutés seront supprimés.
String
load_field
(Facultatif)

Indique le champ qui sera utilisé pour le chargement des itinéraires.

  • ROUTE_IDLes itinéraires seront chargés à l’aide du champ d’ID d’itinéraire. Il s’agit de l’option par défaut.
  • ROUTE_NAMELes itinéraires seront chargés à l’aide du champ de nom d’itinéraire. Cette option est uniquement disponible pour les réseaux sur lesquels les noms d’itinéraire sont configurés dans le réseau LRS lorsque le paramètre load_type est défini sur ADD.
String
consider_existing_centerlines
(Facultatif)

Indique si des itinéraires seront ajoutés à des axes médians existants.

  • CONSIDERLes itinéraires seront ajoutés à l’aide des axes médians existants et aucun nouvel axe médian ne sera créé.
  • DO_NOT_CONSIDERDe nouveaux axes médians seront créés pour les itinéraires ajoutés. Il s’agit de l’option par défaut.
Boolean
allow_partial_loading
(Facultatif)

Indique si les itinéraires valides sont ajoutés même si la validation de certains itinéraires échoue.

  • ALLOWLes itinéraires valides sont ajoutés même si la validation de certains itinéraires échoue.
  • DO_NOT_ALLOWAucun itinéraire n’est ajouté si la validation de certains itinéraires échoue. Il s’agit de l’option par défaut.
Boolean

Sortie obtenue

NomExplicationType de données
out_lrs_network

Couche d’entités de réseau LRS mise à jour.

Feature Layer
out_details_file

Fichier texte qui détaille les modifications apportées par l’outil.

Text File
out_skipped_routes

Classe d’entités qui comporte les itinéraires source dont la validation échoue.

Feature Class

Exemple de code

Exemple 1 d'utilisation de la fonction AppendRoutes (fenêtre Python)

Le script ci-dessous illustre l’utilisation de la fonction AppendRoutes dans la fenêtre Python pour ajouter des itinéraires à un réseau LRS existant, en les remplaçant en cas de superposition.

# Name: AppendRoutes_ex1.py
# Description: Append routes into an existing LRS Network, replacing routes where an overlap occurs.
# Requires: ArcGIS Location Referencing

# Set current workspace
arcpy.env.workspace= r"C:\DOT.gdb"

# Set tool variables
source_routes = r"C:\Data\Input.gdb\RoutestoAppend"
in_lrs_network = r"C:\Data\DOT.gdb\LRS\StateRoutes"
route_id_field = "RouteId"
route_name_field = None
from_date_field = "FromDate"
to_date_field = "ToDate"
line_id_field = None
line_name_field = None
line_order_field = None
field_map = None
load_type = "REPLACE_BY_ROUTE_ID"
load_field = None
consider_existing_centerlines = "DO_NOT_CONSIDER"
allow_partial_loading = "DO_NOT_ALLOW"

# Run the tool
arcpy.locref.AppendRoutes(source_routes, in_lrs_network, route_id_field, route_name_field, from_date_field,
                          to_date_field, line_id_field, line_name_field, line_order_field, field_map, load_type,
                          load_field, consider_existing_centerlines, allow_partial_loading)
Exemple 2 d'utilisation de la fonction AppendRoutes (script autonome)

Le script autonome ci-dessous illustre l’utilisation de la fonction AppendRoutes lorsque les axes médians existants sont pris en compte.

# Name: AppendRoutes_ex2.py
# Description: Appending new routes into an existing LRS network using Route Name in python stand alone script. Existing centerlines are considered.
# Requires: ArcGIS Location Referencing

# Import arcpy module
import arcpy

# Check out license
arcpy.CheckOutExtension("LocationReferencing")


# Set tool variables:
source_routes = r"C:\Data\Input.gdb\RoutestoAppend"
in_lrs_network = r"C:\Data\pipelinereferencing.gdb\LRS\EngineeringNetwork"
route_id_field = "RouteId"
route_name_field = "RouteName"
from_date_field = "FromDate"
to_date_field = "ToDate"
line_id_field = "LineId"
line_name_field = "LineName"
line_order_field = "LineOrder"
field_map = None
load_type = "ADD"
load_field = "RouteName"
consider_existing_centerlines = "CONSIDER"
allow_partial_loading = "DO_NOT_ALLOW"


# Process: Append Routes
arcpy.locref.AppendRoutes(source_routes, in_lrs_network, route_id_field, route_name_field, from_date_field, to_date_field, line_id_field, line_name_field,
                          line_order_field, field_map, load_type, load_field, consider_existing_centerlines, allow_partial_loading)

# Check in license
arcpy.CheckInExtension('LocationReferencing')
Exemple 3 d'utilisation de la fonction AppendRoutes (script autonome)

Le script autonome ci-dessous illustre l’utilisation de la fonction AppendRoutes pour un réseau d’ID d’itinéraires généré par l’utilisateur.

# Name: AppendRoutes_ex3.py
# Description: Append records into an existing usergenerated routeId network feature class in a stand-alone script.
# Source fields: RS and RN, Target fields: RouteSystem and RouteNumber
# Requires: ArcGIS Location Referencing 

# Import arcpy module
import arcpy

# Check out license
arcpy.CheckOutExtension("LocationReferencing")

# Local variables:
source_routes = r"C:\Data\DOT.gdb\LRS\RoutestoAppend"
in_lrs_network = r"C:\Data\DOT.gdb\LRS\StateRoutes"
route_id_field = "RouteId"
route_name_field = None
from_date_field = "FromDate"
to_date_field = "ToDate"
line_id_field = None
line_name_field = None
line_order_field = None
load_type = "ADD"
load_field = None
consider_existing_centerlines = "DO_NOT_CONSIDER"
allow_partial_loading = "DO_NOT_ALLOW"

# Define field mappings object
fieldMappings = arcpy.FieldMappings()  

# Add input fields
fldmap1 = arcpy.FieldMap()
fldmap1.addInputField(source_routes, "RS")

fldmap2 = arcpy.FieldMap()
fldmap2.addInputField(source_routes, "RN")

# Set output fields
fld1 = fldmap1.outputField  
fld1.name = "RouteSystem"
fld1.aliasName = "RouteSystem"
fldmap1.outputField = fld1

fld2 = fldmap2.outputField  
fld2.name = "RouteNumber"
fld2.aliasName = "RouteNumber"
fldmap2.outputField = fld2

# Add output fields to field mappings object
fieldMappings.addFieldMap(fldmap1)
fieldMappings.addFieldMap(fldmap2)

# Run Append Routes
arcpy.locref.AppendRoutes(source_routes, in_lrs_network, route_id_field, route_name_field, from_date_field, to_date_field,
                          line_id_field, line_name_field, line_order_field, fieldMappings, load_type, load_field,
                          consider_existing_centerlines, allow_partial_loading)


# Check in license
arcpy.CheckInExtension('LocationReferencing')
Exemple 4 d'utilisation de la fonction AppendRoutes (script autonome)

Le script autonome ci-dessous illustre l’utilisation de la fonction AppendRoutes dans un service d’entités.

# Name: AppendRoutes_Pro_Ex4.py
# Description: Append routes using a feature service in a stand-alone script. It is recommended to work in a named version and post it into the default version.
# Requires: ArcGIS Location Referencing

# Import arcpy module.
import arcpy

# Check out any necessary licenses.
arcpy.CheckOutExtension("LocationReferencing")

# Set tool variables.
source_routes = r"C:\LocationReferencing\LR.gdb\LRS\routes"
route_id_field = "ROUTEID"
route_name_field = "ROUTENAME"
from_date_field = "FROMDATE"
to_date_field = "TODATE"
line_id_field = "LINEID"
line_name_field = "LINENAME"
line_order_field = "ORDERID"
field_mapping = r'CREATIONUSER "Creation User" true true false 50 Text 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\routes,CREATIONUSER,0,50;DATECREATED "Date Created" true true false 8 Date 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\routes,DATECREATED,-1,-1;DATEMODIFIED "Date Modified" true true false 8 Date 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\routes,DATEMODIFIED,-1,-1;LASTUSER "Last User" true true false 50 Text 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\routes,LASTUSER,0,50;EVENTSOURCE "Event Source" true true false 50 Text 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\routes,EVENTSOURCE,0,50;LEGACYID "Legacy ID" true true false 38 Text 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\routes,LEGACYID,0,38;ENGFROMM "ENGFROMM" true true false 0 Double 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\routes,ENGFROMM,-1,-1;ENGTOM "ENGTOM" true true false 0 Double 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\routes,ENGTOM,-1,-1;OBJECTSTATUS "Object Status" true true false 20 Text 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\routes,OBJECTSTATUS,0,20;CONTINFROMM "Continuous from Measure" true true false 0 Double 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\routes,CONTINFROMM,-1,-1;CONTINTOM "Continuous to Measure" true true false 0 Double 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\routes,CONTINTOM,-1,-1'
load_type = "REPLACE_BY_ROUTE_ID"
load_field = None
consider_existing_centerlines = "DO_NOT_CONSIDER"
allow_partial_loading = "DO_NOT_ALLOW"

## Target Route is in feature service. Signing in portal is required to access the feature service.
arcpy.SignInToPortal('https://yourdomain.com/portal', 'username', 'password')

## Map the target route network from the feature service.Here, 18 corresponds to the target route network.
in_lrs_network = r"https://yourdomain.com/server/rest/services/FeatureServiceName/FeatureServer/18"

# Run Append Routes
arcpy.locref.AppendRoutes(source_routes, in_lrs_network, route_id_field, route_name_field, from_date_field, to_date_field, line_id_field, line_name_field,
                          line_order_field, field_mapping, load_type, load_field, consider_existing_centerlines, allow_partial_loading)

# Check in licenses
arcpy.CheckInExtension('LocationReferencing')

Informations de licence

  • Basic: Nécessite ArcGIS Location Referencing (ArcGIS Pipeline Referencing ou ArcGIS Roads and Highways)
  • Standard: Nécessite ArcGIS Location Referencing (ArcGIS Pipeline Referencing ou ArcGIS Roads and Highways)
  • Advanced: Nécessite ArcGIS Location Referencing (ArcGIS Pipeline Referencing ou ArcGIS Roads and Highways)

Rubriques connexes