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.
Heredado:
Esta es una herramienta obsoleta. En lugar de actualizar los valores del parámetro de atributos de la capa de análisis de red individualmente cada vez que realiza un análisis, puede definir los valores del parámetro de atributos por adelantado configurando modos de viaje en la fuente de datos de su red. En el momento del análisis solo tendrá que elegir el modo de viaje correcto.
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.
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. Sugerencia:Si el valor de parámetro incluye un arreglo, separe los elementos en el arreglo con el carácter de separador localizado. Por ejemplo, en los EE.UU., generalmente se utiliza una coma para separar los elementos. De este modo, la representación de un conjunto de tres números se verá del modo siguiente: "5,10,15". | 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
Ejecuta la herramienta utilizando todos los parámetros.
arcpy.na.UpdateAnalysisLayerAttributeParameter("Route", "Height Restriction",
"Vehicle Height (feet)", 12.0)
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 Network Analyst license if available. Fail if the Network Analyst license is not available.
if arcpy.CheckExtension("network") == "Available":
arcpy.CheckOutExtension("network")
else:
raise arcpy.ExecuteError("Network Analyst Extension license is not available.")
#Set environment settings
output_dir = "C:/Data"
#The NA layer's data will be saved to the workspace specified here
env.workspace = os.path.join(output_dir, "Output.gdb")
env.overwriteOutput = True
#Set local variables
input_gdb = "C:/Data/SanDiego.gdb"
network = os.path.join(input_gdb, "Transportation", "Streets_ND")
layer_name = "WindTurbineRoute"
impedance = "Meters"
restrictions = ["Driving a Truck", "Height Restriction", "Oneway",
"Length Restriction", "National STAA and Locally Preferred Routes"]
seaport = os.path.join(input_gdb, "Analysis", "Port")
wind_farm = os.path.join(input_gdb, "Analysis", "WindFarm")
output_layer_file = os.path.join(output_dir, layer_name + ".lyrx")
#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
layer_object.saveACopy(output_layer_file)
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í