ルート レイヤの作成(Make Route Layer) (Network Analyst)
サマリ
ルート ネットワーク解析レイヤを作成し、解析プロパティを設定します。ルート解析レイヤは、指定したネットワーク コストに基づいて、ネットワーク ロケーション間の最適ルートを決定する際に役立ちます。
使用法
-
このツールで解析レイヤを作成した後は、[ロケーションの追加(Add Locations)] ツールを使用して解析レイヤにネットワーク解析オブジェクトを追加し、[解析の実行(Solve)] ツールを使用して解析を実行し、[レイヤ ファイルの保存(Save To Layer File)] ツールを使用して結果をディスクに保存することができます。
-
このツールをジオプロセシング モデルに使用するときは、モデルをツールとして動作させる場合、出力ネットワーク解析レイヤにモデル パラメータを作成する必要があります。作成しない場合、出力レイヤは ArcMap のコンテンツ ウィンドウに追加されません。
構文
パラメータ | 説明 | データ タイプ |
in_network_dataset |
ルート解析が実行されるネットワーク データセット。 | Network Dataset Layer |
out_network_analysis_layer |
作成するルート ネットワーク解析レイヤの名前。 | String |
impedance_attribute |
解析でインピーダンスとして使用されるコスト属性。 | String |
find_best_order (オプション) |
| Boolean |
ordering_type (オプション) |
FIND_BEST_ORDER(最適な順序を検索)を使用するときに、ストップの順番を指定します。
| String |
time_windows (オプション) |
Specifies if time windows will be used at the stops.
| Boolean |
accumulate_attribute_name [accumulate_attribute_name,...] (オプション) |
解析中に累積されるコスト属性のリスト。これらの累積属性は、参考情報としてのみ使用されます。ソルバは、[インピーダンス] 属性パラメータで指定されているコスト属性のみを使用してルートを計算します。 For each cost attribute that is accumulated, a Total_[Impedance] property is added to the routes that are output by the solver. | String |
UTurn_policy (オプション) |
ストップ間でのネットワーク移動中に発生する可能性があるジャンクションでの U ターンを規制または許可します。
| String |
restriction_attribute_name [restriction_attribute_name,...] (オプション) |
解析中に適用される規制属性のリスト。 | String |
hierarchy (オプション) |
解析を実行するネットワーク データセットに使用する階層属性が定義されていない場合、パラメータは使用されません。この場合、「#」をパラメータ値として使用します。 | Boolean |
hierarchy_settings (オプション) |
レガシ: 10 より前のバージョンでは、このパラメータによって、解析のためにネットワーク データセット構築時のデフォルトの階層範囲から階層範囲の変更を行うことを許可していました。バージョン 10 では、このパラメータはサポートされていないため、空の文字列を指定する必要があります。解析のために階層範囲を変更したい場合、ネットワーク データセットのデフォルトの階層範囲を更新します。 | Network Analyst Hierarchy Settings |
output_path_shape (オプション) |
解析で出力されるルート フィーチャの形状タイプを指定します。
どの出力形状のタイプを選択するかに関係なく、常に最適なルートはユークリッド距離ではなくネットワーク インピーダンスによって決定されます。ネットワーク解析の結果は同じですが、ルート形状のみが異なります。 | String |
start_date_time (オプション) |
ルートの開始日時を指定します。ルートの開始時間は多くの場合、1 日の時刻に応じて変化するインピーダンス属性に基づいたルートの検索に使用されます。たとえば、ラッシュアワーの交通量を考慮したルートの検索には午前 9 時が開始時間として使用されることがあります。このパラメータのデフォルト値は 8:00 AM です。日付と時刻を 10/21/05 10:30 AM のように指定することができます。ルートが複数日にわたり、開始時間のみが指定されている場合、現在の日付が使用されます。 特定の日付を使用する代わりに、次の日付を使用して曜日を指定することができます。
解析後、出力ルートにはルートの開始時刻と終了時刻が挿入されます。このような開始時刻と終了時刻は、ルート案内の生成時にも使用されます。 このオプションは、時間ベースの属性がインピーダンス属性として指定されている場合にのみ有効です。 | Date |
コードのサンプル
必須パラメータのみを使用してツールを実行します。
import arcpy arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb" arcpy.MakeRouteLayer_na("Transportation/Streets_ND","WorkRoute","Minutes")
すべてのパラメータを使用してツールを実行します。
import arcpy arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb" arcpy.MakeRouteLayer_na("Transportation/Streets_ND","InspectionRoute","Minutes", "FIND_BEST_ORDER","PRESERVE_BOTH","USE_TIMEWINDOWS", ["Meters","Minutes"], "ALLOW_DEAD_ENDS_AND_INTERSECTIONS_ONLY",["Oneway"], "USE_HIERARCHY","","TRUE_LINES_WITH_MEASURES", "1/1/1900 9:00 AM")
次のスタンドアロン Python スクリプトは、MakeRouteLayer(ルート レイヤの作成)ツールを使用して、ジオコーディングされたストップ ロケーションを巡回する最適ルートを検索する方法を示しています。
# Name: MakeRouteLayer_Workflow.py # Description: Find a best route to visit the stop locations and save the # route to a layer file. The stop locations are geocoded from a # text file containing the addresses. # 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/SanFrancisco.gdb" env.overwriteOutput = True #Set local variables inNetworkDataset = "Transportation/Streets_ND" outNALayer = "BestRoute" impedanceAttribute = "TravelTime" inAddressLocator = "SanFranciscoLocator" inAddressTable = "C:/data/StopAddresses.csv" inAddressFields = "Street Address VISIBLE NONE" fieldMappings = "Name Address #" outStops = "GeocodedStops" outLayerFile = "C:/data/output" + "/" + outNALayer + ".lyr" #Create a new Route layer. Once the route layer is created, it can be #referenced using its name. arcpy.MakeRouteLayer_na(inNetworkDataset, outNALayer, impedanceAttribute) #Geocode the stop locations from a csv file containing the addresses. #The Geocode Addresses tool can use a text or csv file as input table #as long as the first line in the file contains the field names. arcpy.GeocodeAddresses_geocoding(inAddressTable, inAddressLocator, inAddressFields, outStops) #Load the geocoded address locations as stop smapping the address field from #geocoded stop features as Name property. arcpy.AddLocations_na(outNALayer,"Stops", outStops, fieldMappings, "") #Solve the route layer, ignore any invalid locations such as those that #can not be geocoded arcpy.Solve_na(outNALayer,"SKIP") #Save the solved route layer as a layer file on disk with 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)