Localizar entidades a lo Largo de rutas (Referenciación lineal)

Resumen

Computa la intersección de las entidades de entrada (punto, línea o polígono) y las entidades de ruta, y escribe la ruta e información de medición para una nueva tabla de eventos.

Uso

  • La tabla de salida puede ser un archivo de dBASE o una tabla de geodatabase.

  • El tipo de evento debe ser Punto cuando las Entidades de entrada son puntos y debe ser Línea cuando las entidades de entrada son líneas o polígonos.

  • Para obtener los mejores resultados, las entidades de entrada y las rutas de destino deben superponerse.

    Precaución:

    Si utiliza un radio de búsqueda o una tolerancia cluster grande para superar las discrepancias entre las entidades de entrada y las rutas de destino, se pueden producir resultados inesperados.

  • Para reducir el número de entidades de entrada que se procesarán con esta herramienta, puede escribir capas que tengan selecciones.

  • La tabla de salida se puede visualizar en un mapa utilizando la herramienta Crear capa de eventos de ruta.

Sintaxis

arcpy.lr.LocateFeaturesAlongRoutes(in_features, in_routes, route_id_field, radius_or_tolerance, out_table, out_event_properties, {route_locations}, {distance_field}, {zero_length_events}, {in_fields}, {m_direction_offsetting})
ParámetroExplicaciónTipo de datos
in_features

Las entidades de punto, línea o polígono de entrada.

Feature Layer
in_routes

Las rutas con las que se intersecarán las entidades de entrada.

Feature Layer
route_id_field

El campo que contiene los valores que identifican de manera única cada ruta. Este campo puede ser numérico o de carácter.

Field
radius_or_tolerance

Si las entidades de entrada son puntos, el radio de búsqueda es un valor numérico que define hasta qué distancia alrededor de cada punto se realizará una búsqueda para encontrar una ruta de destino.

Si las entidades de entrada son líneas, la tolerancia de búsqueda realmente es una tolerancia cluster, que es un valor numérico que representa la máxima distancia tolerada entre las líneas de entrada y las rutas de destino.

Si las entidades de entrada son polígonos, se ignora este parámetro y no se utiliza el radio de búsqueda.

Linear Unit
out_table

La tabla que se creará.

Table
out_event_properties

Parámetro que consiste en los campos de ubicación de ruta y el tipo de eventos que se escribirá en la tabla de eventos de salida.

  • Campo Identificador de rutas: campo que contendrá los valores que indican la ruta en la que se encuentra cada evento.
  • Tipo de evento: el tipo de eventos que contendrá la tabla de eventos de salida (POINT o LINE).
    • POINT: los eventos de punto ocurren en una ubicación precisa a lo largo de la ruta. Sólo se debe especificar un solo campo de medición.
    • LINE: los eventos de línea definen una porción de la ruta. Deben especificarse tanto los campos de medición inicial como los de medición final.
  • Campo de medición inicial: un campo que contendrá los valores de medición. Se requiere cuando el tipo de evento es POINT o LINE. Tenga en cuenta que cuando el Tipo de evento es POINT, la etiqueta para este parámetro se convierte en Campo de medición.
  • Campo de medición final: un campo que contendrá los valores de medición. Se requiere cuando el tipo de evento es LINE.
Route Measure Event Properties
route_locations
(Opcional)

Cuando se localizan puntos a lo largo de rutas, es posible que exista más de una ruta dentro del radio de búsqueda de cualquier punto dado. Este parámetro se ignora cuando se localizan líneas o polígonos a lo largo de las rutas.

  • FIRSTSólo se escribirá la ubicación de la ruta más cercana en la tabla de eventos de salida. Esta es la opción predeterminada.
  • ALLSe escribirán todas las ubicaciones de ruta (dentro del radio de búsqueda) en la tabla de eventos de salida.
Boolean
distance_field
(Opcional)

Especifica si un campo llamado DISTANCE se agregará a la tabla de eventos de salida. Los valores de este campo se encuentran en las unidades del radio de búsqueda especificado. Este parámetro se ignora cuando se localizan líneas o polígonos a lo largo de las rutas.

  • DISTANCESe agregará a la tabla de eventos de salida un campo que contiene la distancia desde el punto hasta la ruta. Esta es la opción predeterminada.
  • NO_DISTANCENo se agregará a la tabla de eventos de salida un campo que contiene la distancia desde el punto hasta la ruta.
Boolean
zero_length_events
(Opcional)

Cuando localiza los polígonos a lo largo de las rutas, es posible que los eventos se creen donde la medición inicial es igual que la medición final. Este parámetro se ignora cuando se localizan puntos o líneas a lo largo de las rutas.

  • ZEROLos eventos de línea de longitud cero se escribirán en la tabla de eventos de salida. Esta es la opción predeterminada.
  • NO_ZEROLos eventos de línea de longitud cero no se escribirán en la tabla de eventos de salida.
Boolean
in_fields
(Opcional)

Especifica si la tabla de eventos de salida contendrá los campos de ubicación de ruta más todos los atributos de las entidades de entrada.

  • FIELDSLa tabla de eventos de salida contendrá los campos de ubicación de ruta más todos los atributos de las entidades de entrada. Esta es la opción predeterminada.
  • NO_FIELDSLa tabla de eventos de salida solo contendrá los campos de ubicación de ruta más el campo ObjectID de las entidades de entrada.
Boolean
m_direction_offsetting
(Opcional)

Especifica si la distancia de desplazamiento calculada debe basarse en la dirección M o en la dirección digitalizada. Las distancias se incluyen en la tabla de eventos de salida si distance_field="DISTANCE".

  • M_DIRECTONLos valores de distancia en la tabla de eventos de salida se calcularán según la dirección M de las rutas. A las entidades de entrada que se encuentran a la izquierda de la dirección M de la ruta se les asignará un valor de desplazamiento positivo (+) y a las entidades que se encuentran a la derecha de la dirección M se les asignará un valor de desplazamiento negativo (-). Esta es la opción predeterminada.
  • NO_M_DIRECTIONLos valores de distancia en la tabla de eventos de salida se calcularán según la dirección digitalizada de las rutas. A las entidades de entrada que se encuentran a la izquierda de la dirección digitalizada de la ruta se les asignará un valor de desplazamiento negativo (-) y a las entidades que se encuentran a la derecha de la dirección digitalizada se les asignará un valor de desplazamiento positivo (+).
Boolean

Muestra de código

Ejemplo 1 de LocateFeaturesAlongRoutes (ventana de Python)

En la siguiente secuencia de comandos de Python se muestra cómo utilizar la función LocateFeaturesAlongRoutes en la ventana de Python.

import arcpy
arcpy.env.workspace = "C:/Data"
arcpy.LocateFeaturesAlongRoutes_lr("rail_segments.shp", "rail_routes.shp", 
                                   "rkey", "0.5 Feet", "locate_lines", 
                                   "rkey LINE fmp tmp")
Ejemplo 2 de LocateFeaturesAlongRoutes (script independiente)

En la siguiente secuencia de comandos de Python se muestra cómo utilizar la función LocateFeaturesAlongRoutes en una secuencia de comandos independiente de Python.

# Name: LocateFeaturesAlongRoutes_Example2.py
# Description: Locate shapefile lines along shapefile routes.
# Import system modules
import arcpy
# Set workspace
arcpy.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)
Ejemplo 3 de LocateFeaturesAlongRoutes (script independiente)

En la siguiente secuencia de comandos de Python se muestra cómo utilizar la función LocateFeaturesAlongRoutes en una secuencia de comandos independiente de Python utilizando datos de geodatabase de archivos.

# Name: LocateFeaturesAlongRoutes_Example3.py
# Description: Locate personal geodatabase points along file geodatabase routes.
# Import system modules 
import arcpy
# Set workspace
arcpy.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)
Ejemplo 4 de LocateFeaturesAlongRoutes (script independiente)

En el siguiente script de Python se muestra cómo utilizar la función LocateFeaturesAlongRoutes en un script de Python independiente utilizando datos de geodatabase corporativa.

# Name: LocateFeaturesAlongRoutes_Example4.py
# Description:  Locate enterprise geodatabase polygons along enterprise geodatabase routes.
# Import system modules
import arcpy
# Set workspace
arcpy.env.workspace = "C:/MyProject/myConn.sde"
# Set local variables
feats = arcpy.ValidateTableName("counties", wkspc)  # standalone feature class
rts = arcpy.ValidateTableName("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_DIRECTON")

Información de licenciamiento

  • Basic: Sí
  • Standard: Sí
  • Advanced: Sí

Temas relacionados