Résumé
Met à jour la valeur d'un paramètre d'attribut de réseau dans une couche d'analyse de réseau. Cet outil permet de mettre à jour la valeur d'un paramètre attributaire pour une couche d'analyse de réseau avant l'analyse avec l'outil Rechercher. Il garantit que l'opération d'analyse utilise la valeur spécifiée du paramètre d'attribut pour produire des résultats appropriés.
Utilisation
Les attributs de réseau paramétrés permettent de modéliser un aspect dynamique de la valeur d'un attribut. Par exemple, un tunnel avec une restriction de hauteur de 12 pieds peut être modélisé à l'aide d'un paramètre. Dans ce cas, la hauteur du véhicule en pieds doit être spécifiée en tant que valeur de paramètre. Cette restriction est alors égale à "vrai" si la hauteur du véhicule est supérieure à 12 pieds. De la même façon, un pont peut comporter un paramètre pour spécifier une restriction de poids.
Cet outil doit être utilisé uniquement avec des couches d'analyse de réseau ayant des attributs de réseau avec des paramètres définis dessus.
Cet outil permet de modifier à plusieurs reprises la valeur d'un paramètre existant avant de résoudre une couche d'analyse de réseau.
Les nouveaux paramètres attributaires peuvent être créés à partir de la boîte de dialogue des propriétés de jeu de données réseau dans la fenêtre Catalogue ou dans ArcCatalog.
Syntaxe
UpdateAnalysisLayerAttributeParameter_na (in_network_analysis_layer, parameterized_attribute, attribute_parameter_name, {attribute_parameter_value})
Paramètre | Explication | Type de données |
in_network_analysis_layer | Couche d'analyse de réseau pour laquelle la valeur du paramètre attributaire doit être mise à jour. | Network Analyst Layer |
parameterized_attribute | Attribut de réseau dont le paramètre doit être mis à jour. | String |
attribute_parameter_name | Paramètre de l'attribut de réseau devant être mis à jour. Les paramètres de type Objet ne peuvent pas être mis à jour à l'aide de l'outil. | String |
attribute_parameter_value (Facultatif) | Valeur à définir pour le paramètre d'attribut. Il peut s'agir d'une chaîne, d'un nombre, d'une date ou d'une valeur booléenne (vrai, faux). Si la valeur n'est pas spécifiée, la valeur du paramètre d'attribut est définie comme étant Null. Si le paramètre attributaire a un type d'utilisation de restriction, la valeur peut être spécifiée en tant que mot clé de chaîne ou valeur numérique. Le mot-clé de chaîne ou la valeur numérique détermine si l'attribut de restriction interdit, évite ou préfère les éléments de réseau auxquels il est associé. En outre, le degré auquel les éléments de réseau sont évités ou préférés peut être défini en choisissant le mot clé HIGH, MEDIUM ou LOW. Les mots-clés suivants sont pris en charge :
Les valeurs numériques supérieures à un ont pour conséquence que les éléments restreints sont évités. Plus le nombre est élevé, plus les éléments sont évités. Les valeurs numériques entre zéro et un ont pour conséquence que les éléments restreints sont préférés. Plus le nombre est réduit, plus les éléments restreints sont préférés. Les nombres négatifs interdisent les éléments restreints. | String |
Exemple de code
Exemple 1 d'utilisation de l'outil Mise à jour du paramètre de l'attribut d'analyse de la couche (fenêtre Python)
Exécute l'outil avec tous les paramètres.
arcpy.na.UpdateAnalysisLayerAttributeParameter("Route", "Height Restriction",
"Vehicle Height (feet)", 12.0)
Exemple 2 d'utilisation de l'outil Mise à jour du paramètre de l'attribut d'analyse de la couche (workflow)
Le script Python autonome suivant illustre l'utilisation de l'outil UpdateAnalysisLayerAttributeParameter pour trouver le meilleur itinéraire pour les camions qui évite les passages supérieurs ou les tunnels, qui évite les routes à péages et préfèrent les itinéraires spéciaux pour les camions.
# 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)
Environnements
Informations de licence
- ArcGIS Desktop Basic: Oui
- ArcGIS Desktop Standard: Oui
- ArcGIS Desktop Advanced: Oui