Attributparameter für Analyse-Layer aktualisieren (Network Analyst)

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

Syntax

UpdateAnalysisLayerAttributeParameter_na (in_network_analysis_layer, parameterized_attribute, attribute_parameter_name, {attribute_parameter_value})
ParameterErläuterungDatentyp
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.

TippTipp:

Wenn der Parameterwert ein Array umfasst, müssen die Elemente im Array durch das Zeichen getrennt werden, das derzeit als Trennzeichen festgelegt ist. 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 würde also wie folgt aussehen: "5,10,15".

String

Codebeispiel

UpdateAnalysisLayerAttributeParameter – Beispiel 1 (Python-Fenster)

Ausführen des Werkzeugs unter Verwendung aller Parameter.

import arcpy
arcpy.UpdateAnalysisLayerAttributeParameter_na("Route","HeightRestriction",
                                               "MaxHeight",12.0)
UpdateAnalysisLayerAttributeParameter – Beispiel 2 (Workflow)

Im folgenden eigenständigen Python-Skript wird veranschaulicht, wie das Werkzeug "UpdateAnalysisLayerAttributeParameter" verwendet werden kann, um die optimale Route zu ermitteln, bei der Überführungen oder Tunnel mit geringer Durchfahrtshöhe für bestimmte Fahrzeuge vermieden werden.

# Name: UpdateAnalysisLayerAttributeParameter_Workflow.py
# Description: Find the best route that avoids low clearance overpasses or 
#              tunnels for certain vehicles and save results to a layer file.
# Requirements: Network Analyst Extension 

#Import system modules
import arcpy
from arcpy import env

try:
    #Check out the Network Analyst extension license
    arcpy.CheckOutExtension("Network")

    #Set environment settings
    env.workspace = "C:/data/RhodeIsland.gdb"
    env.overwriteOutput = True
    
    #Set local variables
    inNetworkDataset = "Transportation/Streets_ND"
    outNALayer = "BestTruckRoute"
    impedanceAttribute = "TravelTime"
    accumulateAttribute = ['Length']
    parameterizedAttribute = "HeightRestriction"    
    restrictions = ["Oneway", parameterizedAttribute, "TurnRestriction"]
    searchTolerance = "2000 Meters"
    parameterName = "VehicleHeight"
    truckHeight = 15
    inStops = "Analysis/DeliveryLocations"
    outLayerFile = "C:/data/output" + "/" + outNALayer + ".lyr"
    
    #Make a new route layer. Along with the total travel time, we also want to
    #find out the total distance. So we accumulate "Length" attribute. We want 
    #to obey the oneway, turn restrictions and since we are routing trucks that
    #need a particular clearence, we want to use Height restriction.
    arcpy.MakeRouteLayer_na(inNetworkDataset, outNALayer, impedanceAttribute, 
                            "", "", "", accumulateAttribute,"NO_UTURNS",
                            restrictions)
    
    #Load the Delivery locations as stops using default field map
    arcpy.AddLocations_na(outNALayer, "Stops", inStops, "", searchTolerance)
    
    #As we wish to route trucks which require a clearance of 15 meters,
    #we will set the VehicleHeight parameter on HeightRestriction attribute.
    #This would mean that all streets which have a clearance of less than 15 
    #meters will be restricted.
    arcpy.UpdateAnalysisLayerAttributeParameter_na(outNALayer, 
                                                   parameterizedAttribute,
                                                   parameterName, truckHeight)
    
    #Solve the route layer
    arcpy.Solve_na(outNALayer)
    
    #Save the solved route layer as a layer file on disk using relative paths
    arcpy.SaveToLayerFile_management(outNALayer,outLayerFile,"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 occured on line %i" % tb.tb_lineno
    print str(e)

Umgebungen

Verwandte Themen

Lizenzinformationen

ArcView: Ja
ArcEditor: Ja
ArcInfo: Ja

7/10/2012