Resumen
Actualiza el valor de parámetro de atributos de red para una capa de análisis de red. La herramienta se debe utilizar para actualizar el valor de un parámetro de atributos para una capa de análisis de red antes de ejecutar la herramienta Solucionar. Esto garantiza que la operación de resolución utilizará el valor de parámetro de atributos especificado para producir los resultados adecuados.
Uso
Los atributos de red parametrizados se utilizan para modelar el aspecto dinámico del valor de un atributo. Por ejemplo, un túnel con una restricción de altura de 12 pies se puede modelar utilizando un parámetro. En este caso, se debe especificar la altura del vehículo en pies como el valor de parámetro. Esta restricción evaluará si el vehículo es más alto que 12 pies. En forma similar, un puente puede tener un parámetro para especificar una restricción de peso.
Esta herramienta sólo se debe usar con capas de análisis de red que tengan atributos de red con parámetros definidos.
Esta herramienta se puede utilizar para cambiar varias veces el valor de un parámetro existente antes de resolver una capa de análisis de red.
Se pueden crear nuevos parámetros de atributos desde el cuadro de diálogo de propiedades de dataset de red en la ventana Catálogo o en ArcCatalog.
Sintaxis
arcpy.na.UpdateAnalysisLayerAttributeParameter(in_network_analysis_layer, parameterized_attribute, attribute_parameter_name, {attribute_parameter_value})
Parámetro | Explicación | Tipo de datos |
in_network_analysis_layer | La capa de análisis de red para la que se actualizará el valor de parámetro de atributos. | Network Analyst Layer |
parameterized_attribute | El atributo de red cuyo parámetro de atributos se actualizará. | String |
attribute_parameter_name | El parámetro de atributo de red que se actualizará. Los parámetros de tipo Objeto no se pueden actualizar utilizando esta herramienta. | String |
attribute_parameter_value (Opcional) | El valor que se establecerá para el parámetro de atributos. Puede ser una cadena de caracteres, un número, una fecha o un valor booleano (Verdadero, Falso). Si no se especifica el valor, el valor de los parámetros de atributos se establecerá en Nulo. Si el parámetro de atributo tiene un tipo de uso de restricción, el valor se puede especificar como una palabra clave de cadena de caracteres o un valor numérico. La palabra clave de la cadena de caracteres o el valor numérico determina si el atributo de restricción prohíbe, evita o prefiere los elementos de red a los que está asociado. Además, el grado para el cual los elementos de red se evitan o prefieren se puede definir al elegir las palabras clave ALTO, MEDIO o BAJO. Se admiten las siguientes palabras clave:
Los valores numéricos que son mayores que 1 hacen que se eviten los elementos restringidos; cuanto mayor sea el número, más elementos se evitarán. Los valores numéricos entre cero y uno hacen que se prefieran los elementos restringidos; cuanto menor sea el número, más elementos restringidos se preferirán. Los números negativos prohíben los elementos restringidos. | String |
Salida derivada
Nombre | Explicación | Tipo de datos |
output_layer | La capa de análisis de red actualizada. | Capa de Network Analyst |
Muestra de código
Ejemplo 1 de UpdateAnalysisLayerAttributeParameter (ventana de Python)
Ejecuta la herramienta utilizando todos los parámetros.
arcpy.na.UpdateAnalysisLayerAttributeParameter("Route", "Height Restriction",
"Vehicle Height (feet)", 12.0)
Ejemplo 2 de UpdateAnalysisLayerAttributeParameter (flujo de trabajo)
El siguiente script de Python independiente muestra cómo utilizar la herramienta UpdateAnalysisLayerAttributeParameter para encontrar la mejor ruta para camiones que eviten pasos elevados o túneles de bajo margen y carreteras de peaje y prefieran las rutas designadas para camiones.
# Name: UpdateAnalysisLayerAttributeParameter_Workflow.py
# Description: Use the network dataset's length and height restriction attribute
# parameters to find a route suitable for transporting a large
# wind turbine blade. The results are saved to a layer file.
# Requirements: Network Analyst Extension
#Import system modules
import arcpy
from arcpy import env
import os
try:
#Check out the Network Analyst extension license
arcpy.CheckOutExtension("Network")
#Set environment settings
env.workspace = "C:/Data/SanDiego.gdb"
env.overwriteOutput = True
#Set local variables
network = "Transportation/Streets_ND"
layer_name = "WindTurbineRoute"
impedance = "Meters"
restrictions = ["Driving a Truck", "Height Restriction", "Oneway",
"Length Restriction", "National STAA and Locally Preferred Routes"]
seaport = "Analysis/Port"
wind_farm = "Analysis/WindFarm"
output_layer_file = os.path.join(r"C:/Data", layer_name + ".lyr")
#Make a new route layer. Use restriction attributes relevant to trucking
#oversize loads
result_object = arcpy.na.MakeRouteLayer(network, layer_name, impedance,
restriction_attribute_name=restrictions)
#Get the layer object from the result object. The route layer can
#now be referenced using the layer object.
layer_object = result_object.getOutput(0)
#Set the vehicle height and length attribute parameters to the dimensions of
#the wind turbine transport truck. If these dimensions exceed the limits
#associated with a street feature, that street will be restricted, and the
#resulting route will avoid it.
arcpy.na.UpdateAnalysisLayerAttributeParameter(layer_object,
"Height Restriction", "Vehicle Height (feet)", 13.25)
arcpy.na.UpdateAnalysisLayerAttributeParameter(layer_object,
"Length Restriction", "Vehicle Length (feet)", 80)
#Load the origin and destination points as Stops in the Route
sublayer_names = arcpy.na.GetNAClassNames(layer_object)
stops_layer_name = sublayer_names["Stops"]
arcpy.na.AddLocations(layer_object, stops_layer_name, seaport, "", "")
arcpy.na.AddLocations(layer_object, stops_layer_name, wind_farm, "", "",
append="APPEND")
#Solve the route layer
arcpy.na.Solve(layer_object)
#Save the solved route layer as a layer file on disk
arcpy.management.SaveToLayerFile(layer_object, output_layer_file,
"RELATIVE")
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)
Entornos
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí