Calcular ubicaciones (Network Analyst)

Nivel de licencia:BasicStandardAdvanced

Resumen

Agrega campos a las entidades de entrada que contienen la ubicación de red de las entidades. La herramienta se utiliza para almacenar la información de la ubicación de red como atributos de entidad para poder cargar rápidamente las entidades como entradas para una capa de análisis de red.

Uso

Sintaxis

CalculateLocations_na (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})
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 del campo de rangos de ubicación), las entidades de línea y polígono sólo son compatibles con las clases de entidad de geodatabase.

Table View
in_network_dataset

El dataset de red utilizado 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

La tolerancia de búsqueda para ubicar 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 parámetro no se utiliza al calcular las ubicaciones para entidades poligonales o de línea. En tales casos, utilice "#" como el valor de parámetro.

Linear unit
search_criteria
[[Source, SnapType],...]

Especifica en qué fuentes del dataset de red se buscará para encontrar las ubicaciones y qué partes de la geometría (también conocidas como tipos de alineación) se utilizarán.

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 para cada fuente de red. El tipo de alineación se especifica mediante las palabras clave SHAPE, MIDDLE, END o NONE.

  • SHAPE: el punto localizará el punto más cercano de un elemento en esta fuente de redes.
  • MIDDLE: el punto localizará el punto medio más cercano de un elemento en esta fuente de redes.
  • END: el punto localizará el punto extremo más cercano de un elemento en esta fuente de redes.
  • NONE: el punto no localizará en los elementos de esta fuente de redes.
Por ejemplo, cuando se buscan ubicaciones, el valor de parámetro [["Streets","SHAPE"],["Streets_ND_Junctions","NONE"]] especifica que se puede buscar en la forma de la fuente Streets (calles) pero no en la fuente Streets_ND_Junctions (calles y cruces).

Para especificar varios tipos de alineación para una única fuente de red, utilice una combinación de las palabras clave de tipo de alineación separadas por un guión bajo. Por ejemplo, MIDDLE_END especifica que las ubicaciones se pueden alinear hacia el medio o el final de la fuente de red.

Para los datasets de red de geodatabase, los tipos de alineación se pueden especificar para cada subtipo de la fuente de red.

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

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

Value Table
match_type
(Opcional)
  • MATCH_TO_CLOSESTHace concordar las nuevas ubicaciones de red con la fuente de red más cercana entre todas las fuentes que tienen un tipo de alineación especificado en los criterios de búsqueda. Esta es la opción predeterminada.
  • PRIORITYHace concordar las nuevas ubicaciones de red con la primera fuente de red que tiene un tipo de alineación especificado en los criterios de búsqueda. Las fuentes se buscan en el orden de prioridad y la búsqueda se detiene cuando se encuentra la ubicación dentro de la tolerancia de búsqueda.

El parámetro no se utiliza al calcular las ubicaciones para entidades poligonales o de línea. En tales casos, utilice "#" como el valor de parámetro.

Boolean
source_ID_field
(Opcional)

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

El parámetro no se utiliza al calcular las ubicaciones para entidades poligonales o de línea. En tales casos, utilice "#" como el valor de parámetro.

Field
source_OID_field
(Opcional)

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

El parámetro no se utiliza al calcular las ubicaciones para entidades poligonales o de línea. En tales casos, utilice "#" como el valor de parámetro.

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 crea o actualiza de forma predeterminada.

El parámetro no se utiliza al calcular las ubicaciones para entidades poligonales o de línea. En tales casos, utilice "#" como el valor de parámetro.

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 crea o actualiza de forma predeterminada.

El parámetro no se utiliza al calcular las ubicaciones para entidades poligonales o de línea. En tales casos, utilice "#" como el valor de parámetro.

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 crea o actualiza de forma predeterminada.

El parámetro no se utiliza al calcular las ubicaciones para entidades poligonales o de línea. En tales casos, utilice "#" como el valor de parámetro.

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 crea o actualiza de forma predeterminada.

El parámetro no se utiliza al calcular las ubicaciones para entidades poligonales o de línea. En tales casos, utilice "#" como el valor de parámetro.

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 parámetro no se utiliza al calcular las ubicaciones para entidades poligonales o de línea. En tales casos, utilice "#" como el valor de parámetro.

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 crea o actualiza de forma predeterminada.

El parámetro no se utiliza al calcular las ubicaciones para entidades poligonales o de línea. En tales casos, utilice "#" como el valor de parámetro.

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 crea o actualiza 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)

Este parámetro sólo se aplica cuando las entidades de entrada son de la subcapa de una capa de análisis de red y no son objetos de barrera. En todos los otros casos, utilice "#" como el valor de parámetro.

  • EXCLUDEEspecifica que las ubicaciones de red sólo se colocan en porciones trazables 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 todas las barreras de restricción a la capa de análisis de red para obtener los resultados esperados.
  • INCLUDEEspecifica que las 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)

Especifica una consulta para restringir la búsqueda a un subconjunto de entidades dentro de la clase de entidad de origen. Esto resulta útil si no desea encontrar entidades que puedan resultar inadecuadas para una ubicación de red. Por ejemplo, si está cargando centroides de polígonos y no desea buscar en carreteras locales, puede definir una consulta que busque solo en carreteras principales.

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 la expresión SQL para todas las fuentes de red. La sintaxis de la expresión SQL difiere levemente según el tipo de clase de entidad de origen de la red. Por ejemplo, si está consultando clases de entidad de origen almacenadas en geodatabases de archivos o de ArcSDE, shapefiles o SDC, encierre los nombres de campo entre comillas dobles: "CFCC". Si está consultando clases de entidad de origen almacenadas en geodatabases personales, encierre los campos entre corchetes: [CFCC].

Si no desea especificar una consulta para una fuente en particular, utilice "#" como el valor para la expresión SQL o excluya el nombre de la fuente y la expresión SQL del valor de parámetro. Si no desea especificar una consulta para todas las fuentes de red, use "#" como el valor de parámetro.

Por ejemplo, el valor de parámetro [["Streets","\"CFCC\" = 'A15'"], ["Streets_ND_Junctions",""]] especifica una expresión SQL para la clase de entidad de origen Streets (calles) pero ninguna expresión para la clase de entidad de origen Streets_ND_Junctions (calles y cruces). Tenga en cuenta que las comillas dobles utilizadas para encerrar el nombre del campo CFCC se separan mediante barras invertidas para evitar un error de análisis del intérprete de Python.

Value Table

Ejemplo de código

Ejemplo 1 de CalculateLocations (ventana de Python)

Calcular ubicaciones para entidades de puntos utilizando sólo los parámetros requeridos.

import arcpy
arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb"
arcpy.na.CalculateLocations("Analysis/Stores","Transportation/Streets_ND",
                            "5000 Meters",[["Streets","SHAPE"],
                                           ["Streets_ND_Junctions","NONE"]])
Ejemplo 2 de CalculateLocations (ventana de Python)

Calcular ubicaciones para entidades de puntos en un subtipo de una fuente de red.

import arcpy
arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/Paris.gdb"
arcpy.na.CalculateLocations(
    "Analysis/Warehouses","Transportation/ParisNet","5000 Meters",
    [["Streets : Highways","NONE"],["Streets : Major Roads","NONE"],
     ["Streets : Local Streets","SHAPE"],["ParisNet_Junctions", "NONE"]],
    "MATCH_TO_CLOSEST","SID","SOID","PA","SOE","SnapX","SnapY","Distance",
    "","","","")
Ejemplo 3 de CalculateLocations (ventana de Python)

Calcular ubicaciones para entidades poligonales.

import arcpy
arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb"
arcpy.na.CalculateLocations("Basemap/Parks","Transportation/Streets_ND","",
                            [["Streets","SHAPE"],
                             ["Streets_ND_Junctions","NONE"]],
                            location_field="Locations")
Ejemplo 4 de CalculateLocations (secuencia de comandos de Python independiente)

La siguiente secuencia de comandos de Python muestra cómo usar la herramienta CalculateLocations en una secuencia de comandos 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


#Check out the Network Analyst extension license
arcpy.CheckOutExtension("Network")

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

#Set local variables
inFeatures = "Analysis/FireStations"
inNetworkDataset = "Transportation/Streets_ND"
searchTolerance = "2000 Meters"
searchCriteria = [["Streets","SHAPE"],["Streets_ND_Junctions","NONE"]]
searchQuery = [["Streets",'"FREEWAY" = 0'],["Streets_ND_Junctions",""]]

#Calculate network locations and store them in defaut field names
arcpy.na.CalculateLocations(inFeatures,inNetworkDataset,searchTolerance,
                            searchCriteria,"MATCH_TO_CLOSEST", 
                            exclude_restricted_elements="EXCLUDE",
                            search_query=searchQuery)
print "Script completed successfully."

Entornos

Temas relacionados

Información sobre licencias

ArcGIS for Desktop Basic: Sí
ArcGIS for Desktop Standard: Sí
ArcGIS for Desktop Advanced: Sí
5/10/2014