Incorporar rutas (Location Referencing)

Disponible con licencia de Location Referencing.

Resumen

Incorpora rutas 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 escriben en el directorio de ArcGIS Server. Este archivo se depura automáticamente en 10 minutos de forma predeterminada, lo que puede no ser suficiente para procesar todas las validaciones y escribirlas en la estación de trabajo que ejecuta ArcGIS Pro. Para las cargas de datos más grandes, se recomienda ajustar la antigüedad máxima del archivo a al menos una hora.

Más información sobre cómo ajustar esta configuración del directorio del servidor en Manager

Uso

  • Se requiere una licencia de LRS para ejecutar esta herramienta.

    Encontrará más información acerca de crear un dataset LRS en ArcGIS Pipeline Referencing o crear un dataset LRS en ArcGIS Roads and Highways .

  • 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 tendrán valores x, y y z de los vértices de polilíneas de entrada, pero no se incorporará ningún valor m.

  • Cree todos los campos nuevos que se vayan a utilizar para la asignación de campos en la clase de entidad de 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 polilínea de entrada y la Red LRS de destino deben coincidir.

  • Se escribe un registro de texto localmente que indica que la herramienta se ha ejecutado y contiene información sobre las rutas que no superaron la validación. Los mensajes de la herramienta proporcionan la ubicación del registro de texto, que se encuentra en el directorio temporal.

  • La salida de esta herramienta es una Red LRS modificada en la que se han incorporado rutas y creado entidades de línea central.

  • Cuando se habilita la prevención de conflictos, se admite lo siguiente:

    • Si las rutas que se van a incorporar son nuevas, no se adquirirán bloqueos para esas rutas.
    • Para otros tipos de carga, como Retirar por Id. de ruta y Reemplazar por Id. de ruta, se adquirirán bloqueos automáticamente, si están disponibles.
    • Si no se pueden adquirir los bloqueos, la herramienta no se ejecutará y proporcionará el archivo de texto de los bloqueos conflictivos.
    • Si está trabajando en la versión predeterminada, los bloqueos adquiridos se liberarán automáticamente cuando la herramienta termine de ejecutarse correctamente.
    • Si está trabajando en una versión secundaria, los bloqueos adquiridos permanecerán en el estado EN PUBLICACIÓN cuando se complete la herramienta. Publique o elimine la versión para liberar los bloqueos.
    • Si está trabajando en una versión secundaria y el proceso de la herramienta se cancela por una interrupción, los bloqueos se adquirirán y permanecerán en el estado liberable de Sí. El propietario del bloqueo puede liberar el bloqueo.

      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.

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

  • Si la clase de entidad de entrada contiene curvas, las curvas se densificarán.

    Obtenga más información sobre curvas en ArcGIS Pipeline Referencing o curvas en ArcGIS Roads and Highways.

  • Si la red LRS de destino se configura como una red de líneas que admite un Id. de ruta de varios campos, no se requieren los siguientes parámetros para incorporar rutas:

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

  • Cuando se incorporan nuevas rutas usando el valor Agregar para el parámetro Tipo de carga, si la red LRS de destino tiene un nombre de ruta configurado, las rutas se pueden incorporar usando el nombre de la ruta. Si los Id. de ruta son nulos, se generarán Id. de ruta automáticamente para las rutas incorporadas.

  • La herramienta verifica que los valores de orden de línea sean mayores que cero y en incrementos de 100 con el flujo y la dirección de las rutas en una línea. Los valores de orden de línea incorrectos hacen que la herramienta falle. El archivo de texto de salida califica los valores de orden de línea incorrectos como errores. La herramienta se ejecutará correctamente una vez que se solucionen estos errores.

  • La herramienta busca una red de servicios configurada con la red LRS en la que se estén cargando las rutas y, si se encuentra una red de servicios, considera las líneas centrales existentes al incorporar las rutas. Si la línea central que incorpora a una ruta no tiene un valor de CenterlineID, se creará uno y se agregará un registro de secuencia de líneas centrales. Si existe un valor de CenterlineID al incorporar una ruta, el registro de secuencia de líneas centrales existente se actualizará con el valor de RouteID de la ruta incorporada.

    Las siguientes condiciones de preprocesamiento darán como resultado un error registrado que se debe resolver antes de ejecutar la herramienta hasta su finalización:

    • Para cargar la entidad de ruta, es necesario dividir una línea central.
    • Las geometrías x,y y z de las líneas centrales y las rutas no coinciden.
    • Una línea central presenta una coincidencia parcial (por ejemplo, si una parte de la línea central está fuera de la tolerancia x-, y- y z).
    • Una ruta incorporada tiene una o más líneas centrales completas que coinciden con la geometría, pero hay ubicaciones en las que no hay líneas centrales.
    • Se detectan líneas centrales superpuestas (la red de servicios no admite líneas centrales superpuestas).
    • No hay ninguna línea central que coincida con una ruta incorporada.

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

  • Esta herramienta fallará si el parámetro Tipo de carga está establecido en Reemplazar por Id. de ruta o Retirar por Id. de ruta y si la ruta de origen no tiene los mismos valores de RouteName y RouteID que la ruta de destino.

  • Si se especifica el valor Reemplazar por Id. de ruta para el parámetro Tipo de carga, cualquier ruta que se reemplace tendrá los registros de secuencia de ruta y línea central reemplazados. Los puntos de calibración de la ruta se eliminarán y deberán volver a crearse o cargarse.

Parámetros

EtiquetaExplicaciónTipo de datos
Rutas de origen

La entrada de la que se derivarán las rutas. La entrada puede ser una clase de entidad de polilínea, un shapefile, un servicio de entidades o una clase de entidad de red LRS.

Feature Layer
Red LRS

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

Feature Layer
Campo Id. de ruta

El campo de la clase de entidad de polilínea de entrada que se asignará al 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 un tipo de campo de cadena de caracteres o GUID. Si es un campo de texto, la longitud del campo debe ser menor o igual que 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 un campo de cadena de caracteres y la longitud del campo debe ser menor o igual que la longitud del campo de nombre de ruta de destino.

Field
Campo de fecha inicial
(Opcional)

Un campo de fecha de la clase de entidad de polilínea de entrada que se asignará como valor de Campo de fecha inicial en la red LRS. Si el campo no está asignado, se proporcionará un valor nulo que representa el comienzo del tiempo para todas las rutas incorporadas.

Field
Campo de fecha final
(Opcional)

Un campo de fecha de la clase de entidad de polilínea de entrada que se asignará como valor de Campo de fecha final en la red LRS. Si no se asigna el campo, se proporcionará 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 utiliza si la red LRS de destino es una red de líneas LRS. El tipo de campo y la longitud deben coincidir con el tipo de campo RouteID y la longitud de la tabla de secuencia de la línea de centro.

Field
Campo de nombre de línea
(Opcional)

El campo de 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 utiliza si la red LRS de destino es una red de líneas LRS.

Field
Campo de orden de línea
(Opcional)

El campo de tipo entero largo de la clase de entidad de polilínea de entrada que se asignará como orden de línea de la red LRS. Este parámetro solo se utiliza si la red LRS de destino es una red de líneas LRS.

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

Field
Mapa de campo
(Opcional)

Controla cómo se transferirá la información de atributos de los campos de ruta de origen a la red LRS de entrada. No es posible agregar ni eliminar campos de la red LRS de destino porque los datos de las rutas de origen se incorporan a una red LRS existente que tiene un esquema predefinido. Aunque puede establecer reglas de fusión para cada campo de salida, la herramienta las ignorará.

Field Mappings
Tipo de carga
(Opcional)

Especifica cómo se cargarán en la clase de entidad de red las rutas incorporadas con superposiciones de medida o temporalidad con Id. de ruta idénticos.

  • AgregarLas rutas incorporadas se cargarán en la red LRS de destino. Si algún Id. de ruta de las rutas de origen ya existe en la red LRS de destino con la misma temporalidad, se escribirá en el registro de salida como una ruta duplicada y se debe corregir o filtrar 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 de destino y todas las rutas de la red LRS de destino que tengan el mismo Id. de ruta y superposición de temporalidad que las rutas incorporadas se retirarán. Si la ruta incorporada eclipsa una ruta de destino con el mismo Id. de ruta, la ruta de destino se eliminará.
  • Reemplazar por Id. de rutaLas rutas incorporadas se cargarán en la red LRS de destino y todas las rutas de la red LRS de destino con el mismo Id. de ruta que las rutas incorporadas se eliminarán.
String
Cargar campo
(Opcional)

Especifica el campo que se utilizará para cargar rutas.

  • ID de rutaLas rutas se cargarán utilizando el campo RouteID. Esta es la opción predeterminada.
  • Nombre de la rutaLas rutas se cargarán utilizando el campo RouteName. Esta opción solo está disponible para las redes con RouteName configurado en la red LRS para el tipo de carga .Agregar (load_type = "ADD" en Python).
String

Salida derivada

EtiquetaExplicaciónTipo de datos
Red LRS

La capa de entidades de 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}, {load_field})
NombreExplicaciónTipo de datos
source_routes

La entrada de la que se derivarán las rutas. La entrada puede ser una clase de entidad de polilínea, un shapefile, un servicio de entidades o una clase de entidad de red LRS.

Feature Layer
in_lrs_network

La red LRS de 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á al 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 un tipo de campo de cadena de caracteres o GUID. Si es un campo de texto, la longitud del campo debe ser menor o igual que 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 un campo de cadena de caracteres y la longitud del campo debe ser menor o igual que la longitud del campo de nombre de ruta de destino.

Field
from_date_field
(Opcional)

Un campo de fecha de la clase de entidad de polilínea de entrada que se asignará como valor de Campo de fecha inicial en la red LRS. Si el campo no está asignado, se proporcionará un valor nulo que representa el comienzo del tiempo para todas las rutas incorporadas.

Field
to_date_field
(Opcional)

Un campo de fecha de la clase de entidad de polilínea de entrada que se asignará como valor de Campo de fecha final en la red LRS. Si no se asigna el campo, se proporcionará 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 utiliza si la red LRS de destino es una red de líneas LRS. El tipo de campo y la longitud deben coincidir con el tipo de campo RouteID y la longitud de la tabla de secuencia de la línea de centro.

Field
line_name_field
(Opcional)

El campo de 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 utiliza si la red LRS de destino es una red de líneas LRS.

Field
line_order_field
(Opcional)

El campo de tipo entero largo de la clase de entidad de polilínea de entrada que se asignará como orden de línea de la red LRS. Este parámetro solo se utiliza si la red LRS de destino es una red de líneas LRS.

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

Field
field_map
(Opcional)

Controla cómo se transferirá la información de atributos de los campos de ruta de origen a la red LRS de entrada. No es posible agregar ni eliminar campos de la red LRS de destino porque los datos de las rutas de origen se incorporan a una red LRS existente que tiene un esquema predefinido (definiciones de campo). Aunque puede establecer reglas de fusión para cada campo de salida, la herramienta las ignorará. La clase ArcPy FieldMappings se puede usar para definir este parámetro.

Field Mappings
load_type
(Opcional)

Especifica cómo se cargarán en la clase de entidad de red las rutas incorporadas con superposiciones de medida o temporalidad con Id. de ruta idénticos.

  • ADDLas rutas incorporadas se cargarán en la red LRS de destino. Si algún Id. de ruta de las rutas de origen ya existe en la red LRS de destino con la misma temporalidad, se escribirá en el registro de salida como una ruta duplicada y se debe corregir o filtrar 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 de destino y todas las rutas de la red LRS de destino que tengan el mismo Id. de ruta y superposición de temporalidad que las rutas incorporadas se retirarán. Si la ruta incorporada eclipsa una ruta de destino con el mismo Id. de ruta, la ruta de destino se eliminará.
  • REPLACE_BY_ROUTE_IDLas rutas incorporadas se cargarán en la red LRS de destino y todas las rutas de la red LRS de destino con el mismo Id. de ruta que las rutas incorporadas se eliminarán.
String
load_field
(Opcional)

Especifica el campo que se utilizará para cargar rutas.

  • ROUTE_IDLas rutas se cargarán utilizando el campo RouteID. Esta es la opción predeterminada.
  • ROUTE_NAMELas rutas se cargarán utilizando el campo RouteName. Esta opción solo está disponible para las redes con RouteName configurado en la red LRS para el tipo de carga .Agregar (load_type = "ADD" en Python).
String

Salida derivada

NombreExplicaciónTipo de datos
out_lrs_network

La capa de entidades de 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)

A continuación, se muestra cómo utilizar la función AppendRoutes en la ventana de Python para incorporar rutas a una red LRS existente, de manera que se sustituyan las rutas en las que se produce una superposición.

# 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

# 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,load_field)
Ejemplo 2 de AppendRoutes (script independiente)

A continuación se muestra cómo utilizar la función AppendRoutes en un script de Python independiente.

# Name: AppendRoutes_ex2.py
# Description: Appending new routes into an existing LRS network using Route Name in python stand alone script.
# 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"


# 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)

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

A continuación, se muestra cómo utilizar la función AppendRoutes como un script independiente de Python para una red de Id. de ruta generada 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:
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

# 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)

# Execute: 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)


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

Lo siguiente muestra cómo utilizar la función AppendRoutes en un script de Python independiente en un servicio de entidades.

# Name: AppendRoutes_Pro_Ex4.py
# Description: Append routes using a feature service in a stand-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.
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

## 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"

# 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_mapping, load_type,load_field)

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

Información de licenciamiento

  • Basic: Requiere ArcGIS Location Referencing (ArcGIS Pipeline Referencing o ArcGIS Roads and Highways)
  • Standard: Requiere ArcGIS Location Referencing (ArcGIS Pipeline Referencing o ArcGIS Roads and Highways)
  • Advanced: Requiere ArcGIS Location Referencing (ArcGIS Pipeline Referencing o ArcGIS Roads and Highways)

Temas relacionados