Zusammenfassung
Aktualisiert den Netzwerkattribut-Parameterwert für einen Netzwerkanalyse-Layer. Das Werkzeug sollte verwendet werden, um den Wert eines Attributparameters für einen Netzwerkanalyse-Layer vor der Berechnung durch das Werkzeug Berechnen zu aktualisieren. Damit wird sichergestellt, dass für die Berechnung der angegebene Wert des Attributparameters verwendet und das entsprechende Ergebnis erzeugt wird.
Verwendung
Mithilfe der parametrierten Netzwerkattribute können dynamische Aspekte eines Attributwertes modelliert werden. So kann beispielsweise ein Tunnel mit einer Höhenbeschränkung von 12 Fuß mit einem Parameter modelliert werden. In diesem Fall sollte die Höhe des Fahrzeugs (in Fuß) als angegebener Parameterwert verwendet werden. Diese Einschränkung wird dann als "Wahr" bewertet, wenn das Fahrzeug höher als 12 Fuß ist. Entsprechend kann eine Brücke einen Parameter zur Angabe einer Gewichtsbeschränkung aufweisen.
Dieses Werkzeug sollte nur für Netzwerkanalyse-Layer verwendet werden, die Netzwerkattribute mit definierten Parametern aufweisen.
Dieses Werkzeug kann verwendet werden, um wiederholt den Wert eines vorhandenen Parameters zu ändern, bevor ein Netzwerkanalyse-Layer berechnet wird.
Neue Attributparameter können im Dialogfeld mit Netzwerk-Dataset-Eigenschaften im Fenster Katalog oder in ArcCatalog erstellt werden.
Syntax
arcpy.na.UpdateAnalysisLayerAttributeParameter(in_network_analysis_layer, parameterized_attribute, attribute_parameter_name, {attribute_parameter_value})
Parameter | Erklärung | Datentyp |
in_network_analysis_layer | Netzwerkanalyse-Layer, für den der Attribut-Parameterwert aktualisiert wird. | Network Analyst Layer |
parameterized_attribute | Das Netzwerkattribut, dessen Attribut-Parameterwert aktualisiert wird. | String |
attribute_parameter_name | Der Parameter des Netzwerkattributs, der aktualisiert wird. Die Parameter des Typs "Objekt" können mit diesem Werkzeug nicht aktualisiert werden. | String |
attribute_parameter_value (optional) | Der Wert, der für den Attributparameter festgelegt wird. Dies kann eine Zeichenfolge, eine Zahl, ein Datum oder ein boolescher Wert (True, False) sein. Wenn der Wert nicht angegeben ist, wird der Attributparameterwert auf NULL festgelegt. Wenn der Attributparameter einen eingeschränkten Verwendungstyp aufweist, kann der textbasiertes Schlüsselwort oder als ein numerischer Wert angegeben werden. Das Schlüsselwort bzw. der numerische Wert bestimmt, ob durch das Restriktionsattribut die damit verknüpften Netzwerkelemente verhindert, vermieden oder bevorzugt werden. Weiterhin kann der Grad, zu dem Netzwerkelemente vermieden oder bevorzugt werden, durch die Schlüsselwörter "HIGH", "MEDIUM" oder "LOW" definiert werden. Die folgenden Schlüsselwörter werden unterstützt:
Bei numerischen Werten über 1 werden die eingeschränkten Elemente vermieden. Je höher der Wert ist, umso mehr Elemente werden vermieden. Bei numerischen Werten zwischen 0 (null) und 1 werden die eingeschränkten Elemente bevorzugt. Je niedriger der Wert ist, umso mehr eingeschränkte Elemente werden bevorzugt. Negative Zahlen verhindern eingeschränkte Elemente. | String |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
output_layer | Der aktualisierte Netzwerkanalyse-Layer. | Network Analyst-Layer |
Codebeispiel
UpdateAnalysisLayerAttributeParameter – Beispiel 1 (Python-Fenster)
Ausführen des Werkzeugs unter Verwendung aller Parameter.
arcpy.na.UpdateAnalysisLayerAttributeParameter("Route", "Height Restriction",
"Vehicle Height (feet)", 12.0)
UpdateAnalysisLayerAttributeParameter – Beispiel 2 (Workflow)
Das folgende eigenständige Python-Skript veranschaulicht, wie Sie mit dem Werkzeug UpdateAnalysisLayerAttributeParameter die beste Route für LKWs ermitteln, bei der Überführungen oder Tunnel mit geringer Durchfahrthöhe sowie gebührenpflichtige Straßen vermieden und speziell für LKW ausgewiesene Routen bevorzugt werden.
# 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)
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja