Calcular ubicaciones (Network Analyst)

Resumen

Localiza entidades de entrada en la red y agrega campos que describen estas ubicaciones de red a las entidades de entrada. La herramienta se utiliza para almacenar la información de la ubicación de red como atributos de entidad con el fin de cargar rápidamente las entidades como entradas para un análisis de red.

Obtener más información sobre la localización de entidades en una red

Uso

  • Esta herramienta se utiliza para calcular los campos de ubicación que pueden ser entradas para la herramienta Agregar ubicaciones. Se debe utilizar en las entidades que se usarán más de una vez como entradas de una capa de análisis de red. Una vez calculadas las ubicaciones, se puede utilizar el parámetro Usar los campos de ubicación de red en lugar de la geometría de la herramienta Agregar ubicaciones para cargar rápidamente las entidades como ubicaciones de red.

  • También puede usar esta herramienta para volver a calcular las ubicaciones de red que no están ubicadas en la capa de análisis de red mediante un conjunto de opciones de búsqueda distinto. Por ejemplo, si las paradas de la capa de análisis de red de ruta se agregaron inicialmente con una tolerancia de búsqueda de 500 metros y solo algunas de las paradas quedaron como no ubicadas, puede seleccionar las paradas no ubicadas, por ejemplo, usando la herramienta Seleccionar capa por atributo y volver a ejecutar esta herramienta especificando la subcapa de las paradas como el valor del parámetro Entidades de entrada con una tolerancia de búsqueda mayor.

  • La herramienta se ejecuta considerablemente más rápido si las clases de entidad utilizadas como fuentes de red en el dataset de red tienen un índice espacial válido y actualizado.

Sintaxis

arcpy.na.CalculateLocations(in_point_features, in_network_dataset, {search_tolerance}, {search_criteria}, {match_type}, {source_ID_field}, {source_OID_field}, {position_field}, {side_field}, {snap_X_field}, {snap_Y_field}, {distance_field}, {snap_Z_field}, {location_field}, {exclude_restricted_elements}, {search_query}, {travel_mode})
ParámetroExplicaciónTipo de datos
in_point_features

Las entidades de entrada para las que se calcularán las ubicaciones de red.

Debido a que la información de ubicación de red está almacenada en un campo BLOB (especificado en el parámetro Campo de rangos de ubicación), las entidades de línea y polígono solo son compatibles con las clases de entidad de geodatabase.

Table View
in_network_dataset

El dataset de red que se utilizará para calcular las ubicaciones.

Si una subcapa de una capa de análisis de red se utiliza como entidades de entrada, el parámetro se debe establecer en el dataset de red al que hace referencia la capa de análisis de red.

Network Dataset Layer
search_tolerance
(Opcional)

La tolerancia de búsqueda que se utilizará para localizar las entidades de entrada en la red. Las entidades que se encuentran fuera de la tolerancia de búsqueda quedan no ubicadas. El parámetro incluye un valor y unidades para la tolerancia.

El valor predeterminado es 5.000 metros.

El parámetro no se utiliza al calcular las ubicaciones para entidades poligonales o de línea.

Linear Unit
search_criteria
[[Source, SnapType],...]
(Opcional)

Las fuentes del dataset de red en las que se buscará al calcular las ubicaciones de red y las partes de la geometría (también conocidas como tipos de alineación) que se utilizarán. Por ejemplo, si el dataset de red hace referencia a clases de entidad separadas que representan calles y aceras, puede optar por ubicar entradas en calles pero no en aceras.

Las siguientes son las opciones de tipo de alineación disponibles para cada fuente de red:

  • SHAPE: el punto se ubicará en el punto más cercano de un elemento en esta fuente de red.
  • MIDDLE: el punto se ubicará en el punto medio más cercano de un elemento en esta fuente de red.
  • END: el punto se ubicará en el extremo más cercano de un elemento en esta fuente de red.
  • NONE: el punto no se ubicará en los elementos de esta fuente de red.

Las opciones END y MIDDLE se mantienen para la compatibilidad con versiones anteriores. Utilice la opción SHAPE para localizar sus entradas en una fuente de red en particular; de lo contrario, utilice NONE.

Cuando se calculan las ubicaciones para entidades poligonales o de línea, solo se utiliza el tipo de alineación SHAPE, incluso si se especifican otros tipos de alineación.

El valor predeterminado es SHAPE para todas las fuentes de red, excepto para los cruces de invalidación creados al ejecutar la herramienta Disolver red y los cruces de sistema, que tienen un valor predeterminado de NONE.

Este parámetro no se utiliza si la fuente de datos de red es un servicio del portal.

El valor de parámetro se especifica como una lista con listas anidadas. La lista anidada está compuesta por dos valores que indican el nombre y el tipo de alineación de cada fuente de red. Por ejemplo, el valor de parámetro [["Streets","SHAPE"],["Streets_ND_Junctions","NONE"]] especifica que se puede buscar en la forma de la fuente Streets, pero no en la fuente Streets_ND_Junctions.

Las fuentes de redes que no se incluyan en esta lista utilizarán su tipo de alineación predeterminado. Se recomienda incluir todas las fuentes de redes en la lista y establecer de forma explícita el tipo de alineación de cada una.

En los datasets de red de geodatabase, los tipos de alineación se pueden especificar para cada subtipo de la fuente de red. Por ejemplo, si la red tiene un origen llamado Streets y ese origen tiene un subtipo llamado Local Streets, especifique el tipo de alineación de las calles locales que utilizan ["Streets : Local Streets", "SHAPE"].

Value Table
match_type
(Opcional)

Especifica cómo se asignarán las nuevas ubicaciones de red a las fuentes de red.

  • MATCH_TO_CLOSESTLas nuevas ubicaciones de red se harán coincidir con la fuente de red más cercana entre todas las fuentes que tengan un tipo de alineación especificado en los criterios de búsqueda. Esta es la opción predeterminada.
  • PRIORITYLas nuevas ubicaciones de red se harán coincidir con la primera fuente de red que tenga un tipo de alineación especificado en los criterios de búsqueda. La búsqueda de los orígenes se realiza en orden de prioridad y la búsqueda se detiene si la ubicación se encuentra dentro de la tolerancia de búsqueda.

El parámetro no se utiliza al calcular las ubicaciones para entidades poligonales o de línea.

Boolean
source_ID_field
(Opcional)

El nombre del campo que se creará o actualizará con el Id de origen de la ubicación de red calculada. Un campo llamado SourceID se creará o actualizará de forma predeterminada.

El parámetro no se utiliza al calcular las ubicaciones para entidades poligonales o de línea.

Field
source_OID_field
(Opcional)

El nombre del campo que se creará o actualizará con el OID de origen de la ubicación de red calculada. Un campo llamado SourceOID se creará o actualizará de forma predeterminada.

El parámetro no se utiliza al calcular las ubicaciones para entidades poligonales o de línea.

Field
position_field
(Opcional)

El nombre del campo que se creará o actualizará con el porcentaje a lo largo de la ubicación de red calculada. Un campo llamado PosAlong se creará o actualizará de forma predeterminada.

El parámetro no se utiliza al calcular las ubicaciones para entidades poligonales o de línea.

Field
side_field
(Opcional)

El nombre del campo que se creará o actualizará con el lado del eje en el que se ubica la entidad de punto en la ubicación de red calculada. Un campo llamado SideOfEdge se creará o actualizará de forma predeterminada.

El parámetro no se utiliza al calcular las ubicaciones para entidades poligonales o de línea.

Field
snap_X_field
(Opcional)

El nombre del campo que se creará o actualizará con la coordenada x de la ubicación de red calculada. Un campo llamado SnapX se creará o actualizará de forma predeterminada.

El parámetro no se utiliza al calcular las ubicaciones para entidades poligonales o de línea.

Field
snap_Y_field
(Opcional)

El nombre del campo que se creará o actualizará con la coordenada y de la ubicación de red calculada. Un campo llamado SnapY se creará o actualizará de forma predeterminada.

El parámetro no se utiliza al calcular las ubicaciones para entidades poligonales o de línea.

Field
distance_field
(Opcional)

El nombre del campo que se creará o actualizará con la distancia de la entidad de punto desde la ubicación de red calculada. Un campo llamado Distance se crea o actualiza de forma predeterminada.

El campo de salida está en metros.

El parámetro no se utiliza al calcular las ubicaciones para entidades poligonales o de línea.

Field
snap_Z_field
(Opcional)

El nombre del campo que se creará o actualizará con la coordenada z de la ubicación de red calculada. Un campo llamado SnapZ se creará o actualizará de forma predeterminada.

El parámetro no se utiliza al calcular las ubicaciones para entidades poligonales o de línea.

Cuando se calculan ubicaciones para entidades de puntos, el parámetro se utiliza sólo cuando el dataset de red de entrada es compatible con la conectividad basada en los valores de las coordenadas z de las fuentes de red. En todos los otros casos, utilice "#" como el valor de parámetro.

Field
location_field
(Opcional)

El nombre del campo que se creará o actualizará con los rangos de ubicación de las ubicaciones de red calculadas para las entidades de línea o polígono. Un campo llamado Locations se creará o actualizará de forma predeterminada.

El parámetro se utiliza sólo cuando se calculan las ubicaciones para entidades de línea o polígono. Para las entidades de puntos de entrada, utilice "#" como el valor de parámetro.

Field
exclude_restricted_elements
(Opcional)

Especifica si las porciones restringidas de la red se excluyen al localizar entradas. Los puntos no se colocarán en elementos que estén restringidos en el modo de viaje especificado. Si no se especifica ningún modo de viaje, se utilizarán las restricciones del modo de viaje predeterminado de la red.

  • EXCLUDELas ubicaciones de red solo se colocan en porciones transitables de la red. Esto evita situar ubicaciones de red sobre elementos a los que no puede acceder debido a restricciones o barreras. Antes de reubicar las ubicaciones de red con esta opción, asegúrese de haber agregado ya todas las barreras de restricción a la capa de análisis de red para obtener los resultados esperados. Esta es la opción predeterminada.
  • INCLUDELas ubicaciones de red se colocan en todos los elementos de la red. Las ubicaciones de red que se reubican con esta opción pueden ser inalcanzables durante el proceso de resolución si se colocan en elementos restringidos.
Boolean
search_query
[[Source, Expression],...]
(Opcional)

Define una consulta que restringirá la búsqueda a un subconjunto de entidades en la clase de entidad de origen. Esto resulta útil si no desea buscar en entidades que puedan resultar inadecuadas para el análisis. Por ejemplo, puede utilizar la consulta para excluir todas las entidades con una clase de carretera particular.

Se puede especificar una expresión SQL separada por clase de entidad de origen del dataset de red. De forma predeterminada, no se utiliza ninguna consulta para ningún origen.

Este parámetro no se utiliza si la fuente de datos de red es un servicio del portal.

El valor de parámetro se especifica como una lista de listas anidadas. Las listas anidada están compuestas por dos valores que indican el nombre y la expresión SQL de todas las fuentes de red. Para obtener más información sobre la sintaxis SQL, consulte Referencia SQL para las expresiones de consulta utilizadas en ArcGIS.

No se aplicará ninguna consulta a ninguna fuente de red no incluida en esta lista. Del mismo modo, una expresión especificada como una cadena vacía también se interpretará como sin consulta.

Por ejemplo, el valor del parámetro [["Streets", "\"CFCC\" = 'A15'"], ["Streets_ND_Junctions", ""]] especifica una consulta correspondiente a la clase de entidad de origen Streets para ubicar entradas solamente en calles donde el campo CFCC tiene un valor de A15. No se aplica ninguna consulta a la clase de entidad de origen Streets_ND_Junctions.

Value Table
travel_mode
(Opcional)

El nombre del modo de viaje que se utilizará en el análisis.

Si selecciona un modo de viaje, se tendrá en cuenta la configuración del modo de viaje (por ejemplo, las restricciones y los atributos de impedancia) a la hora de calcular los campos de ubicación. Por ejemplo, si el eje de red más cercano a uno de sus puntos de entrada está prohibido para los camiones y el modo de viaje está establecido para camiones, la herramienta Calcular ubicaciones ubicará el punto en el siguiente eje de red más cercano que no esté prohibido para los camiones.

Los modos de viaje disponibles dependen del valor del parámetro in_network_dataset.

Si una subcapa de una capa de análisis de red se utiliza como entidades de entrada, el parámetro de modo de entrada se debe establecer con el modo de viaje de la capa de análisis de red.

String

Salida derivada

NombreExplicaciónTipo de datos
out_point_feature_class

Las entidades de entrada actualizadas.

Vista de tabla

Muestra de código

Ejemplo 1 de CalculateLocations (ventana de Python)

Calcule las ubicaciones correspondientes a entidades de puntos utilizando solo los parámetros requeridos.

stores = "C:/Data/SanFrancisco.gdb/Analysis/Hospitals/Analysis/Stores"
network = "C:/Data/SanFrancisco.gdb/Transportation/Streets_ND"
arcpy.na.CalculateLocations(stores, network, "5000 Meters",
                            [["Streets", "SHAPE"],
                            ["Streets_ND_Junctions", "NONE"]])
Ejemplo 2 de CalculateLocations (ventana de Python)

Calcule ubicaciones correspondientes a entidades de puntos en entidades de calles, excluyendo otras fuentes de red.

warehouses = "C:/Data/Paris.gdb/Analysis/Warehouses"
network = "C:/Data/Paris.gdb/Transportation/ParisMultimodal_ND"
arcpy.na.CalculateLocations(warehouses, network, "5000 Meters",
    [["Metro_Lines", "NONE"], ["Streets", "SHAPE"],
    ["Transfer_Stations", "NONE"], ["Metro_Entrances", "NONE"],
    ["Metro_Stations", "NONE"], ["ParisMultimodal_ND_Junctions", "NONE"]],
    "MATCH_TO_CLOSEST", "SID", "SOID", "PA", "SOE", "SnapX", "SnapY",
    "Distance")
Ejemplo 3 de CalculateLocations (ventana de Python)

Calcular ubicaciones para entidades poligonales

parks = "C:/Data/SanFrancisco.gdb/Analysis/Hospitals/Basemap/Parks"
network = "C:/Data/SanFrancisco.gdb/Transportation/Streets_ND"
arcpy.na.CalculateLocations(parks, network, "", [["Streets", "SHAPE"],
                            ["Streets_ND_Junctions", "NONE"]],
                            location_field="Locations")
Ejemplo 4 de CalculateLocations (script independiente)

El siguiente script de Python muestra cómo utilizar la herramienta CalculateLocations en un script independiente.

# Name: CalculateLocations_ex04.py
# Description: Calculate network locations for fire stations. Make sure that the
#              fire stations are not located on the freeways.
# Requirements: Network Analyst Extension

#Import system modules
import arcpy
from arcpy import env

try:
    #Set environment settings
    env.workspace = "C:/Data/SanFrancisco.gdb"

    #Set local variables
    in_features = "Analysis/FireStations"
    network = "Transportation/Streets_ND"
    search_tolerance = "2000 Meters"
    search_criteria = [["Streets", "SHAPE"], ["Streets_ND_Junctions", "NONE"]]
    search_query = [["Streets", '"FREEWAY" = 0'], ["Streets_ND_Junctions", ""]]

    #Calculate network locations and store them in defaut field names
    arcpy.na.CalculateLocations(in_features, network, search_tolerance,
                                search_criteria, "MATCH_TO_CLOSEST",
                                exclude_restricted_elements="EXCLUDE",
                                search_query=search_query)

    print("Script completed successfully.")

except Exception as e:
    # If an error occurred, print line number and error message
    import traceback, sys
    tb = sys.exc_info()[2]
    print(("An error occurred on line %i" % tb.tb_lineno))
    print((str(e)))

Información de licenciamiento

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

Temas relacionados