Incorporar rutas (Location Referencing)

Disponible con licencia de Location Referencing.

Resumen

Incorpora rutas procedentes de una polilínea de entrada a una red LRS.

Nota:

Cuando la capa de destino es una capa de servicio de entidades, los resultados de validación de esta herramienta se guardan en el directorio ArcGIS Server. Este archivo se borra automáticamente en un plazo de 10 minutos de forma predeterminada, un tiempo que puede no ser suficiente para procesar todas las validaciones y escribirlas en la estación de trabajo en la que se ejecuta ArcGIS Pro. Para cargas de datos mayores, se recomienda ajustar la antigüedad máxima de los archivos a al menos una hora.

Más información sobre el ajuste de este parámetro del directorio del servidor en el Administrador

Uso

  • Se requiere una licencia de LRS para ejecutar esta herramienta. Para crear un dataset de LRS, agregue las capas de punto de calibración, línea de centro y marcado a un dataset de entidades y, a continuación, ejecute la herramienta Modificar LRS con la geodatabase como entrada.

  • Esta herramienta creará líneas centrales en el dataset LRS de destino, así como rutas en la red LRS de destino.

  • Las rutas de salida obtendrán los valores x, y y z de los vértices de la polilínea de entrada, pero no incorporarán valores M.

  • Cree cualquier campo nuevo que vaya a utilizarse para la asignación de campos en la clase de entidad Red LRS subyacente antes de incorporar rutas.

  • La referencia espacial, la resolución x,y y la tolerancia x,y de la clase de entidad de la polilínea de entrada y de la red LRS de destino deben coincidir.

  • Se lleva en local un registro en formato texto en el que se indica que la herramienta se ha ejecutado y contiene información acerca de las rutas que no pudieron validarse. Los mensajes de la herramienta proporcionan la ubicación del registro en formato texto, que es el directorio temporal.

  • La salida de esta herramienta es una red LRS modificada a la que se le han incorporado rutas y se le han creado entidades de línea de centro.

  • Esta herramienta es compatible con la prevención de conflictos y tratará de adquirir y transferir los bloqueos.

  • Cuando la prevención de conflictos está habilitada, se admiten las siguientes características:

    • Si las rutas que se desea incorporar son nuevas, no se adquirirá ningún bloqueo de dichas rutas.
    • Para otro tipo de cargas, como por ejemplo RETIRE_BY_ROUTE_ID y REPLACE_BY_ROUTE_ID, los bloqueos se adquirirán automáticamente, si están disponibles.
    • Si los bloqueos no pueden adquirirse, la herramienta no se ejecutará y proporcionará el archivo de texto de los bloqueos conflictivos.
    • Si se está trabajando con la versión predeterminada, los bloqueos adquiridos se liberarán de forma automática cuando la herramienta finalice su ejecución con éxito.
    • Si se está trabajando con una versión secundaria, los bloqueos adquiridos permanecerán en el estado EN PUBLICACIÓN una vez la herramienta finalice. Publique o borre la versión para liberar los bloqueos.
    • Si se está trabajando con una versión secundaria y se cancela la ejecución de una herramienta por una interrupción, los bloqueos se adquirirán y conservarán el valor Sí como estado publicable. El propietario del bloqueo puede liberar el bloqueo.

      Obtenga más información sobre la liberación de bloqueos en ArcGIS Pipeline Referencing o la liberación de bloqueos en ArcGIS Roads and Highways.

    Obtenga más información sobre la prevención de conflictos en Pipeline Referencing o la prevención de conflictos en Roads and Highways.

  • Si la red LRS de destino está configurada como una red de líneas que admite Id. de ruta de varios campos, los siguientes parámetros no son necesarios para incorporar rutas:

    • Campo de nombre de ruta
    • Campo de nombre de línea

  • La herramienta busca una red de servicios que esté configurada con la red LRS en la que se están cargando las rutas, y en caso de encontrarla, tiene en cuenta las líneas de centro al incorporar rutas. Si la línea de centro incorporada a una ruta no cuenta con un valor deCenterlineID, se creará un valor y se añadirá un registro de secuencia de línea de centro. Si ya existe un valor de CenterlineID al incorporar una ruta, el registro de secuencia de líneas de centro existente se actualizará con el valor de RouteID de la ruta incorporada.

    Las siguientes condiciones de preprocesamiento darán lugar al registro de un error que debe resolverse antes de que la herramienta pueda ejecutarse hasta su finalización:

    • La carga de la entidad de ruta requiere la división de la línea de centro.
    • Las geometrías x, y y z de las líneas de centro y de las rutas no coinciden.
    • Una línea de centro es una coincidencia parcial (p. ej., si parte de la línea de centro está fuera de las tolerancias x, y y z).
    • Una ruta incorporada tiene una o varias líneas de centro enteras que coinciden con la geometría, pero hay algunas ubicaciones en las que no existen las líneas de centro.
    • Se detectan líneas de centro superpuestas (la red de servicio no permite la superposición de líneas).
    • No hay líneas de centro que coincidan con una ruta añadida.

    Más información sobre cómo administrar conjuntamente Pipeline Referencing y una red de servicio

  • Esta herramienta fallará si el parámetro Tipo de carga tiene el valor Sustituir por Id. de ruta o Retirar por Id. de ruta y la ruta de origen no tiene los mismos valores RouteName y RouteID

  • Si se selecciona la opción Sustituir por Id. de ruta, los registros de ruta y secuencia de líneas de centro de las líneas sustituidas serán sustituidos. Los puntos de calibración de la ruta se borrarán y deberán recrearse o volverse a cargar.

Parámetros

EtiquetaExplicaciónTipo de datos
Rutas de origen

La entrada desde la cual se derivan las rutas. La entrada puede ser una clase de entidad de polilínea, un shapefile, un servicio de entidad o una clase de entidad de la red LRS.

Feature Layer
Red LRS

La red LRS destino en la que se cargarán las rutas.

Feature Layer
Campo de Id. de ruta

El campo de la clase de entidad de polilínea de entrada que se asignará como Id. de ruta de la red LRS. El tipo de campo debe coincidir con el tipo de campo RouteID de la red LRS de destino y debe ser una cadena de caracteres o GUID. Si se trata de un campo de texto, su longitud debe ser inferior o igual a la longitud del campo RouteID de destino.

Field
Campo de nombre de ruta

El campo de la clase de entidad de polilínea de entrada que se asignará como nombre de ruta de la red LRS. El campo debe ser una cadena de caracteres de longitud menor o igual a la longitud del campo de nombre de la ruta de destino.

Field
Campo Fecha inicial
(Opcional)

Un campo de tipo fecha de la clase de entidad de polilínea de entrada cuyo valor será asignado al campo Fecha inicial de la red LRS. Si el campo no está asignado, tendrá para todas las rutas incorporadas un valor nulo, que representa el inicio del tiempo.

Field
Campo Fecha final
(Opcional)

Un campo de tipo fecha de la clase de entidad de polilínea de entrada cuyo valor será asignado al campo Fecha final de la red LRS. Si el campo no está asignado, se le dará un valor nulo, que representa el final del tiempo, para todas las rutas incorporadas.

Field
Campo de Id. de línea
(Opcional)

El campo de la clase de entidad de polilínea de entrada que se asignará como Id. de línea de la red LRS. Este parámetro solo se usa si la red LRS objetivo es una red de línea LRS. El tipo del campo debe coincidir con el tipo del campo routeID y su longitud con la longitud del campo de la tabla de secuencias de líneas de centro.

Field
Campo de nombre de línea
(Opcional)

El campo de tipo cadena de caracteres de la clase de entidad de polilínea de entrada que se asignará como nombre de línea de la red LRS. Este parámetro solo se usa si la red LRS objetivo es una red de línea LRS.

Field
Campo de orden de línea
(Opcional)

El campo de tipo entero grande de la clase de entidad de polilínea de entrada que se asignará como nombre de línea de la red LRS. Este parámetro solo se usa si la red LRS objetivo es una red de línea LRS.

Más información acerca de las redes de línea y el orden de las líneas en Pipeline Referencing o las redes de línea y el orden de las líneas en Roads and Highways.

Field
Mapa de campo
(Opcional)

Controla la forma en que la información de los atributos de los campos de ruta de origen se transfiere a la red de línea de entrada. Los campos no pueden añadirse o eliminarse de la red LRS objetivo porque los datos de las rutas de origen se incorporan a una red LRS existente que cuenta con un esquema predefinido. Aunque puede establecer reglas de fusión para cada campo de salida, la herramienta ignorará esas reglas.

Field Mappings
Tipo de carga
(Opcional)

Especifica cómo se cargarán en la clase de entidad de evento las rutas incorporadas con superposiciones de medidas o de temporalidad con el mismo Id. de ruta que los registros de eventos de destino.

  • AgregarLas rutas incorporadas se cargarán en la red LRS objetivo. Si algún Id. de ruta en las rutas de origen ya existiera en la red LRS de destino con la misma temporalidad, constará en el registro de salida como ruta duplicada y deberá corregirse o filtrarse antes de completar el proceso de carga. Esta es la opción predeterminada.
  • Retirar por Id. de rutaLas rutas incorporadas se cargarán en la red LRS objetivo y cualquier ruta en la red LRS objetivo que tenga el mismo Id. de ruta y la misma superposición de la temporalidad que las rutas incorporadas será retirada. Si la ruta incorporada eclipsa una ruta objetivo con el mismo Id. de ruta, la ruta objetivo se borrará.
  • Sustituir por Id. de rutaLas rutas incorporadas se cargarán en la red LRS objetivo y cualquier ruta de la red LRS objetivo con el mismo Id. de ruta que las rutas incorporadas será eliminada.
String

Salida derivada

EtiquetaExplicaciónTipo de datos
Red LRS

La capa de entidades de la red LRS actualizada.

Feature Layer
Archivo de resultados de salida

El archivo de texto que detalla los cambios realizados por la herramienta.

Text File

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})
NombreExplicaciónTipo de datos
source_routes

La entrada desde la cual se derivan las rutas. La entrada puede ser una clase de entidad de polilínea, un shapefile, un servicio de entidad o una clase de entidad de la red LRS.

Feature Layer
in_lrs_network

La red LRS destino en la que se cargarán las rutas.

Feature Layer
route_id_field

El campo de la clase de entidad de polilínea de entrada que se asignará como Id. de ruta de la red LRS. El tipo de campo debe coincidir con el tipo de campo RouteID de la red LRS de destino y debe ser una cadena de caracteres o GUID. Si se trata de un campo de texto, su longitud debe ser inferior o igual a la longitud del campo RouteID de destino.

Field
route_name_field

El campo de la clase de entidad de polilínea de entrada que se asignará como nombre de ruta de la red LRS. El campo debe ser una cadena de caracteres de longitud menor o igual a la longitud del campo de nombre de la ruta de destino.

Field
from_date_field
(Opcional)

Un campo de tipo fecha de la clase de entidad de polilínea de entrada cuyo valor será asignado al campo Fecha inicial de la red LRS. Si el campo no está asignado, tendrá para todas las rutas incorporadas un valor nulo, que representa el inicio del tiempo.

Field
to_date_field
(Opcional)

Un campo de tipo fecha de la clase de entidad de polilínea de entrada cuyo valor será asignado al campo Fecha final de la red LRS. Si el campo no está asignado, se le dará un valor nulo, que representa el final del tiempo, para todas las rutas incorporadas.

Field
line_id_field
(Opcional)

El campo de la clase de entidad de polilínea de entrada que se asignará como Id. de línea de la red LRS. Este parámetro solo se usa si la red LRS objetivo es una red de línea LRS. El tipo del campo debe coincidir con el tipo del campo routeID y su longitud con la longitud del campo de la tabla de secuencias de líneas de centro.

Field
line_name_field
(Opcional)

El campo de tipo cadena de caracteres de la clase de entidad de polilínea de entrada que se asignará como nombre de línea de la red LRS. Este parámetro solo se usa si la red LRS objetivo es una red de línea LRS.

Field
line_order_field
(Opcional)

El campo de tipo entero grande de la clase de entidad de polilínea de entrada que se asignará como nombre de línea de la red LRS. Este parámetro solo se usa si la red LRS objetivo es una red de línea LRS.

Más información acerca de las redes de línea y el orden de las líneas en Pipeline Referencing o las redes de línea y el orden de las líneas en Roads and Highways.

Field
field_map
(Opcional)

Controla la forma en que la información de los atributos de los campos de ruta de origen se transfiere a la red de línea de entrada. Los campos no pueden añadirse o eliminarse de la red LRS objetivo porque los datos de las rutas de origen se incorporan a una red LRS existente que cuenta con un esquema predefinido (definiciones de campos). Aunque puede establecer reglas de fusión para cada campo de salida, la herramienta ignorará esas reglas. La clase ArcPy FieldMappings puede usarse para definir este parámetro.

Field Mappings
load_type
(Opcional)

Especifica cómo se cargarán en la clase de entidad de evento las rutas incorporadas con superposiciones de medidas o de temporalidad con el mismo Id. de ruta que los registros de eventos de destino.

  • ADDLas rutas incorporadas se cargarán en la red LRS objetivo. Si algún Id. de ruta en las rutas de origen ya existiera en la red LRS de destino con la misma temporalidad, constará en el registro de salida como ruta duplicada y deberá corregirse o filtrarse antes de completar el proceso de carga. Esta es la opción predeterminada.
  • RETIRE_BY_ROUTE_IDLas rutas incorporadas se cargarán en la red LRS objetivo y cualquier ruta en la red LRS objetivo que tenga el mismo Id. de ruta y la misma superposición de la temporalidad que las rutas incorporadas será retirada. Si la ruta incorporada eclipsa una ruta objetivo con el mismo Id. de ruta, la ruta objetivo se borrará.
  • REPLACE_BY_ROUTE_IDLas rutas incorporadas se cargarán en la red LRS objetivo y cualquier ruta de la red LRS objetivo con el mismo Id. de ruta que las rutas incorporadas será eliminada.
String

Salida derivada

NombreExplicaciónTipo de datos
out_lrs_network

La capa de entidades de la red LRS actualizada.

Feature Layer
out_details_file

El archivo de texto que detalla los cambios realizados por la herramienta.

Text File

Muestra de código

Ejemplo 1 de AppendRoutes (ventana de Python)

El siguiente ejemplo muestra cómo usar la función AppendRoutes en la ventana Python para incorporar rutas a una red LRS existente, sustituyendo dichas rutas cuando se produzca una superposición.

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

# Set tool variables
source_routes = r"C:\Data\UPDM.gdb\LRS\EngineeringNetwork"
in_lrs_network = r"C:\Data\NY_Data.gdb\LRS\P_Integrity\P_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 = "REPLACE_BY_ROUTE_ID"

# Execute 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)
Ejemplo 2 de AppendRoutes (secuencia de comandos independiente)

El siguiente ejemplo muestra cómo utilizar la función AppendRoutes como secuencia de comandos independiente Python.

# Name: AppendRoutes_ex2.py
# Description: Append records into an existing network feature class without performing any attribute field mapping.
# Requires: ArcGIS Location Referencing

# Import arcpy module
import arcpy

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

# Local variables:
SourceRoutes = r"C:\Data\UPDM.gdb\LRS\EngineeringNetwork"
TargetNetwork = r"C:\Data\NY_Data.gdb\LRS\P_Integrity\P_EngineeringNetwork"
Route_ID = "RouteId"
Route_Name = "RouteName"
From_Date = "FromDate"
To_Date = "ToDate"
Line_ID = "LineId"
Line_Name = "LineName"
Line_Order = "LineOrder"

# Process: Append Routes
arcpy.locref.AppendRoutes(SourceRoutes, TargetNetwork, Route_ID, Route_Name, From_Date, To_Date, Line_ID, Line_Name, Line_Order, None, "ADD")

# Check in license
arcpy.CheckInExtension('LocationReferencing')
Ejemplo 3 de AppendRoutes (secuencia de comandos independiente)

El siguiente ejemplo muestra cómo utilizar la función AppendRoutes como secuencia de comandos independiente Python para una red con Id. de ruta generado por el usuario.

# 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:
SourceRoutes = r"C:\Data\DOT.gdb\LRS\RoutestoAppend"
TargetNetwork = r"C:\Data\DOT.gdb\LRS\StateRoutes"
RouteId = "RouteId"
RouteName = ""
FromDate = "FromDate"
ToDate = "ToDate"
LineId = ""
LineName = ""
LineOrder = ""
loadtype = "ADD"

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

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

fldmap2 = arcpy.FieldMap()
fldmap2.addInputField(SourceRoutes, "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)

# Execute: Append Routes
arcpy.locref.AppendRoutes(SourceRoutes, TargetNetwork, RouteId, RouteName, FromDate, ToDate, LineId, LineName, LineOrder, fieldMappings, loadtype)

# Check in license
arcpy.CheckInExtension('LocationReferencing')
Ejemplo 4 de AppendRoutes (secuencia de comandos independiente)

El siguiente ejemplo muestra cómo utilizar la función AppendRoutes en una secuencia de comandos Python independiente en un servicio de entidades.

# Name: AppendRoutes_Pro_Ex4.py
# Description: Append routes using a feature service in a standa-alone script. It is recommended to work in a 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.
sourceroute = r"C:\LocationReferencing\LR.gdb\LRS\routes"
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"

## 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.
targetroute_network = r"https://yourdomain.com/server/rest/services/FeatureServiceName/FeatureServer/18"

# Process: Append Routes.
arcpy.locref.AppendRoutes(sourceroute, targetroute_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)

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

Información de licenciamiento

  • Basic: Requiere ArcGIS Location Referencing
  • Standard: Requiere ArcGIS Location Referencing
  • Advanced: Requiere ArcGIS Location Referencing

Temas relacionados