到達圏レイヤの作成(Make Service Area Layer) (Network Analyst)

サマリ

到達圏ネットワーク解析レイヤを作成し、解析プロパティを設定します。到達圏解析レイヤは、施設の場所から指定したコストの閾値内で到達できるエリアを決定する際に役立ちます。

使用法

構文

MakeServiceAreaLayer_na (in_network_dataset, out_network_analysis_layer, impedance_attribute, {travel_from_to}, {default_break_values}, {polygon_type}, {merge}, {nesting_type}, {line_type}, {overlap}, {split}, {excluded_source_name}, {accumulate_attribute_name}, {UTurn_policy}, {restriction_attribute_name}, {polygon_trim}, {poly_trim_value}, {lines_source_fields})
パラメータ説明データ タイプ
in_network_dataset

到達圏解析が実行されるネットワーク データセット。

Network Dataset Layer
out_network_analysis_layer

作成する到達圏ネットワーク解析レイヤの名前。

String
impedance_attribute

解析でインピーダンスとして使用されるコスト属性。

String
travel_from_to
(オプション)

施設に向かう移動方向か、施設から離れる移動方向かを指定します。

  • TRAVEL_FROM施設から離れる方向に到達圏が作成されます。
  • TRAVEL_TO施設に向かう方向に到達圏が作成されます。

このオプションを使用することで、移動する方向に基づいた一方通行規制およびさまざまなインピーダンスを考慮して、ネットワーク上にさまざまな到達圏を作成することが可能になります。たとえば宅配ピザの到達圏であれば、施設から離れる方向に作成され、病院の到達圏であれば、施設に向かう方向に作成されます。

String
default_break_values
(オプション)

計算される到達圏の範囲を示すデフォルトのインピーダンス値。施設に閾値を指定することでデフォルト値をオーバーライドすることができます。

複数のポリゴンの閾値を設定することで、同心状の到達圏を生成できます。たとえば、同一施設の 2 分間、3 分間、5 分間の到達圏を検索する場合は、[デフォルト] の閾値パラメータの値として「2 3 5」を入力します(2、3、5 の間は空白文字で区切ります)。

String
polygon_type
(オプション)

生成されるポリゴンのタイプを指定します。

  • SIMPLE_POLYS(単純なポリゴン)単純化されたポリゴンを高速に生成します。末端部分以外では適度な精度もあります。これがデフォルトです。
  • DETAILED_POLYS(詳細なポリゴン)到達圏ラインを正確にモデリングする詳細なポリゴンが作成されます。未到達の領域が島状に残される場合があります。単純化されたポリゴンを生成する場合に比べ、このオプションでは処理時間が大幅に長くなります。
  • NO_POLYS(ポリゴンを生成しない)到達圏ラインのみが必要な場合に、ポリゴンの生成を行わないようにします。

格子状の道路網を持つ市街地のデータであれば、単純化されたポリゴンと詳細なポリゴンの違いはあまりありません。山間部や地方の道路では、一般的に、単純化されたポリゴンよりも詳細なポリゴンのほうがはるかに高い精度を提供します。

String
merge
(オプション)

同様の閾値を共有するポリゴンをマージするオプションを指定します。このオプションは複数の施設に対してポリゴンを生成するときにのみ適用できます。

  • NO_MERGE(マージしない)施設ごとに異なるポリゴンが作成されます。各ポリゴンは重なり合います。
  • NO_OVERLAP(オーバーラップしない)施設ごとに異なるポリゴンが生成されます。各ポリゴンは重なり合うことはありません。
  • MERGE(マージする) 同じ閾値を持つ複数の施設のポリゴンが結合されます。
String
nesting_type
(オプション)

同心状の到達圏ポリゴンをディスク状に作成するか、またはリング状に作成するかを指定します。このオプションは複数の閾値が施設に対して指定されているときにのみ適用できます。

  • RINGS(リング)小さい閾値の領域を含みません。連続する閾値の間の領域を含むポリゴンが生成されます。ある閾値から別の閾値までの領域を表示する場合に、このオプションを使用します。
  • DISKS(ディスク) 施設から閾値までの領域を含むポリゴンが生成されます。たとえば、5 分間と 10 分間の到達圏を生成する場合、5 分間の到達圏ポリゴンは 10 分間の到達圏ポリゴンに含まれます。施設から閾値までの領域全体を表示する場合に、各閾値に対してこのオプションを使用します。
String
line_type
(オプション)

到達圏解析に基づいて生成されるラインのタイプを指定します。大きな到達圏に TRUE_LINES(正確なライン)オプションまたは TRUE_LINES_WITH_MEASURES(計測値を含む正確なライン)オプションを選択すると、解析に使用されるメモリ量が増加します。

  • NO_LINES(ラインなし)ラインを作成しません。これがデフォルトです。
  • TRUE_LINES(正確なライン)計測値を含まないラインが作成されます。
  • TRUE_LINES_WITH_MEASURES(計測値を含む正確なライン)計測値を含むラインが作成されます。このメジャー値は、中間点を補間するエッジの両端におけるインピーダンス値に基づいて生成されます。高速なパフォーマンスが必要な場合は、このオプションを使用しないでください。
String
overlap
(オプション)

Determines if overlapping lines are generated when the service area lines are computed.

  • OVERLAP(オーバーラップする) 施設同士で一致する到達圏ラインがある場合に、各施設で別々のライン フィーチャを保持します。
  • NON_OVERLAP(オーバーラップしない) 各到達圏ラインを 1 本だけ保持し、最も近い(インピーダンスが最小の)施設に関連付けます。
Boolean
split
(オプション)
  • SPLIT(分割する)2 つの閾値の間のすべてのラインが 2 つのラインに分割され、それぞれのラインが閾値に収まるようになります。これは閾値ごとに到達圏ラインをシンボル化する場合に役立ちます。それ以外の場合は NO_SPLIT(分割しない)オプションを使用すると、処理が短時間ですみます。
  • NO_SPLIT(分割しない)ラインを閾値の境界線で分割しません。これがデフォルトです。
Boolean
excluded_source_name
[excluded_source_name,...]
(オプション)

ポリゴン生成時に除外するネットワーク ソースの一覧を指定します。除外されるソースのトレースされたエレメントのジオメトリは、すべてのポリゴンから除外されます。

ポリゴンの精度が損なわれるため、または到達圏解析にそれほど重要ではないため、ポリゴン生成に含めたくないネットワーク ソースがある場合に役立ちます。たとえば、道路および線路の複合ネットワークで走行時間の到達圏を作成する場合、ポリゴン生成から線路を除外するように選択すると、車両が通行できるモデルが正確に生成されます。

到達圏ポリゴンからネットワーク ソースを除外しても、そのソースの通行が防止されるわけではありません。到達圏ポリゴンからソースを除外した場合、到達圏のポリゴンの形状のみに影響が生じます。特定のネットワーク ソースの通行を防止するには、ネットワーク データセットの定義時に適切な規制を設定する必要があります。

String
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 ターンを規制または許可します。

  • ALLOW_UTURNS(U ターンを許可)任意の数の隣接エッジを持つジャンクションでの U ターンを許可します。
  • NO_UTURNS(U ターンを規制)すべてのジャンクションでの U ターンが禁止されます。ただし、この設定が選択されている場合でも、ネットワーク ロケーションでは U ターンが許可されます。個々のネットワーク ロケーションの CurbApproach プロパティで U ターンを禁止するように設定できます。
  • ALLOW_DEAD_ENDS_ONLY(行き止まりのみ許可)1 つの隣接エッジを持つジャンクション(行き止まり)を除くすべてのジャンクションでの U ターンを禁止します。
  • ALLOW_DEAD_ENDS_AND_INTERSECTIONS_ONLY(行き止まりと交差点のみ許可)2 つの隣接するエッジが接するジャンクションでの U ターンを禁止します。ただし、交差点(3 つ以上の隣接エッジを持つジャンクション)または行き止まり(1 つの隣接エッジを持つジャンクション)では U ターンを許可します。
String
restriction_attribute_name
[restriction_attribute_name,...]
(オプション)

解析中に適用される規制属性のリスト。

String
polygon_trim
(オプション)
  • TRIM_POLYS(ポリゴンを切詰める)到達圏ポリゴン内の外側にあるエッジから指定距離以内に収まるように、ポリゴンの外周を切詰めます。ネットワークが非常にまばらで、フィーチャが存在しない広範領域が到達圏内に含まれるのを防ぎたい場合に役立ちます。
  • NO_TRIM_POLYS(ポリゴンを切詰めない)ポリゴンを切詰めません。
Boolean
poly_trim_value
(オプション)

到達圏ポリゴンが切詰められる距離の範囲を指定します。パラメータには距離の値と単位が含まれます。デフォルト値は 100 メートルです。

Linear unit
lines_source_fields
(オプション)
  • LINES_SOURCE_FIELDS SourceID フィールド、SourceOID フィールド、FromPosition フィールド、ToPosition フィールドを到達圏ラインに追加して、解析中にトレースするソース フィーチャに関する情報を格納します。これは、到達圏ラインの結果を元のソース データに結合するのに役立ちます。
  • NO_LINES_SOURCE_FIELDSソース フィールド(SourceID、SourceOID、FromPosition、ToPosition)を到達圏ラインに追加しません。
Boolean

コードのサンプル

MakeServiceAreaLayer(到達圏レイヤの作成)の例 1(Python ウィンドウ)

必須パラメータのみを使用してツールを実行します。

import arcpy
arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb"
arcpy.MakeServiceAreaLayer_na("Transportation/Streets_ND","FireStationCoverage",
                              "Minutes")
MakeServiceAreaLayer(到達圏レイヤの作成)の例 2(Python ウィンドウ)

すべてのパラメータを使用してツールを実行します。

import arcpy
arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/Paris.gdb"
arcpy.MakeServiceAreaLayer_na("Transportation/ParisNet","WarehouseCoverage",
                              "Drivetime","TRAVEL_FROM","5 10 15", 
                              "SIMPLE_POLYS", "NO_OVERLAP","RINGS","TRUE_LINES",
                              "NON_OVERLAP","NO_SPLIT",
                              ["Metro_Lines","Transfer_Stations",
                               "Transfer_Street_Station"],
                              ["Meters","Drivetime"],"ALLOW_DEAD_ENDS_ONLY",
                              ["Oneway"],"NO_TRIM_POLYS","",
                              "LINES_SOURCE_FIELDS")
MakeServiceAreaLayer(到達圏レイヤの作成)の例 3(ワークフロー)

次のスタンドアロン Python スクリプトは、MakeServiceAreaLayer(到達圏レイヤの作成)ツールを使用して消防署から 1 分、2 分、3 分以内の到達圏を生成する方法を示しています。

# Name: MakeServiceAreaLayer_Workflow.py
# Description: Generate 1-,2-,3- minute service area around fire stations and 
#              save the results to a layer file on disk. The service area 
#              polygons can be used to visualize the areas that do not have 
#              adequate coverage from the fire stations 
# 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 = "FireStationCoverage"
    impedanceAttribute = "TravelTime"
    inFacilities = "Analysis/FireStations"
    outLayerFile = "C:/data/output" + "/" + outNALayer + ".lyr"
    
    #Create a new service area layer. We wish to generate the service area 
    #polygons as rings, so that we can easily visualize the coverage for any 
    #given location. We also want overlapping polygons as we can determine the 
    #number of fire stations that cover a given location. We will specify these
    #options while creating the new service area layer.
    arcpy.MakeServiceAreaLayer_na(inNetworkDataset, outNALayer, 
                                  impedanceAttribute, "TRAVEL_FROM", "1 2 3", 
                                  "SIMPLE_POLYS", "NO_MERGE", "RINGS")
    
    #Load the fire stations as facilities using deafult field mappings and 
    #default search tolerance
    arcpy.AddLocations_na(outNALayer, "Facilities", inFacilities, "","")    
    
    #Solve the service area layer
    arcpy.Solve_na(outNALayer)
    
    #Save the solved service area 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)

環境

関連項目


7/10/2012