概要
ネットワーク解析レイヤーのネットワーク属性パラメーター値を更新します。このツールは、[解析の実行 (Solve)] ツールで解析を実行する前に、ネットワーク解析レイヤーの属性パラメーターの値を更新するために使用する必要があります。これにより、解析操作において指定した属性パラメーターの値が確実に使用され、適切な結果を得ることができます。
使用法
パラメーター化されたネットワーク属性は、リアルタイムに変化する属性値をモデリングするために使用されます。たとえば、12 フィートの車高規制があるトンネルをパラメーターを使用してモデリングできます。この場合、車両の高さ (フィート) をパラメーター値として指定する必要があります。この規制は車両の高さが 12 フィートを超える場合に true に評価されます。同様に、橋は重量規制を指定するパラメーターを保持することができます。
このツールは、定義されたパラメーターが設定されたネットワーク属性を持つネットワーク解析レイヤーのみに使用される必要があります。
このツールは、ネットワーク解析レイヤーで解析を実行する前に、繰り返し既存のパラメーターの値を変更するのに使用できます。
カタログ ウィンドウまたは ArcCatalog のネットワーク データセット プロパティ ダイアログ ボックスで、新しい属性パラメーターを作成することができます。
構文
arcpy.na.UpdateAnalysisLayerAttributeParameter(in_network_analysis_layer, parameterized_attribute, attribute_parameter_name, {attribute_parameter_value})
パラメーター | 説明 | データ タイプ |
in_network_analysis_layer | 属性パラメーターが更新されるネットワーク解析レイヤー。 | Network Analyst Layer |
parameterized_attribute | 属性パラメーターが更新されるネットワーク属性。 | String |
attribute_parameter_name | 更新されるネットワーク属性のパラメーター。このツールでは、Object タイプのパラメーターは更新できません。 | String |
attribute_parameter_value (オプション) | 属性パラメーターに設定される値。文字列、数値、日付、またはブール値 (True、False) のいずれかになります。値が指定されていない場合、属性パラメーター値は NULL に設定されます。 属性パラメーターに規制使用タイプがある場合、文字列キーワードまたは数値で値を指定できます。この文字列キーワードまたは数値により、規制属性が、それに関連付けられたネットワーク エレメントを禁止するのか、回避するのか、優先するのかが決まります。さらに、HIGH、MEDIUM、または LOW キーワードを選択することによって、ネットワーク エレメントを回避または優先する度合いを定義できます。以下のキーワードがサポートされています。
数値が 1 より大きい場合は、規制されたエレメントが回避されます。数値が大きいほど、多くのエレメントが回避されます。数値が 0 ~ 1 の場合は、規制されたエレメントが優先されます。数値が小さいほど、多くの規制されたエレメントが優先されます。数値がマイナスの場合は、規制されたエレメントが禁止されます。 | String |
派生した出力
名前 | 説明 | データ タイプ |
output_layer | 更新されたネットワーク解析レイヤー。 | Network Analyst レイヤー |
コードのサンプル
UpdateAnalysisLayerAttributeParameter (解析レイヤーの属性パラメーターの更新) の例 1 (Python ウィンドウ)
すべてのパラメーターを使用してツールを実行します。
arcpy.na.UpdateAnalysisLayerAttributeParameter("Route", "Height Restriction",
"Vehicle Height (feet)", 12.0)
UpdateAnalysisLayerAttributeParameter (解析レイヤーの属性パラメーターの更新) の例 2 (ワークフロー)
次のスタンドアロン Python スクリプトは、UpdateAnalysisLayerAttributeParameter ツールを使用して、車両に対する高さ制限が低い高架またはトンネルを避け、有料道路を回避し、指定されたトラックのルートを優先する、トラックの最適ルートを検索する方法を示しています。
# 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)
環境
ライセンス情報
- Basic: はい
- Standard: はい
- Advanced: はい