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.
Ältere Versionen:
Dies ist ein veraltetes Werkzeug. Anstatt die Attributparameterwerte des Netzwerkanalyse-Layers zum Zeitpunkt der Analyse zu aktualisieren, sollten Sie Attributparameterwerte im Voraus festlegen, indem Sie Reisemodi für die Netzwerkdatenquelle konfigurieren. Wählen Sie bei der Analyse einfach den richtigen Reisemodus aus.
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.
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. Tipp:Wenn der Parameterwert ein Array enthält, trennen Sie die Array-Elemente mit dem lokalen Trennzeichen. In den USA würde beispielsweise sehr wahrscheinlich ein Kommazeichen als Trennzeichen für die Elemente verwendet werden. Die Darstellung eines Arrays mit drei Zahlen sähe demnach wie folgt aus: "5,10,15". | String |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
output_layer | Der aktualisierte Netzwerkanalyse-Layer. | Network Analyst-Layer |
Codebeispiel
Ausführen des Werkzeugs unter Verwendung aller Parameter.
arcpy.na.UpdateAnalysisLayerAttributeParameter("Route", "Height Restriction",
"Vehicle Height (feet)", 12.0)
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 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)))
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja