ArcGIS for Desktop

  • ドキュメント
  • 価格
  • サポート

  • My Profile
  • ヘルプ
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

組織のマッピング プラットフォーム

ArcGIS for Desktop

完全なプロ仕様の GIS

ArcGIS for Server

エンタープライズ GIS

ArcGIS for Developers

位置情報利用アプリの開発ツール

ArcGIS Solutions

各種業界向けの無料のテンプレート マップおよびテンプレート アプリケーション

ArcGIS Marketplace

組織で使えるアプリとデータを取得

  • ドキュメント
  • 価格
  • サポート
Esri
  • サイン イン
user
  • マイ プロフィール
  • サイン アウト

ヘルプ

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • その他...

最寄り施設の検出レイヤーの作成 (Make Closest Facility Layer)

Network Analyst のライセンスで利用可能。

  • サマリ
  • 使用法
  • 構文
  • コードのサンプル
  • 環境
  • ライセンス情報

サマリ

最寄り施設の検出ネットワーク解析レイヤーを作成し、解析プロパティを設定します。最寄り施設の検出解析レイヤーは、指定したネットワーク コストに基づいて、インシデントまでの最寄り施設の検出を検出する際に役立ちます。

注意:

[最寄り施設の検出 (Find Closest Facilities)] ツールと [最寄り施設の検出レイヤーの作成 (Make Closest Facility Layer)] ツールは類似していますが、それぞれ異なる目的で設計されています。ジオプロセシング サービスをセットアップする場合、[最寄り施設の検出 (Find Closest Facilities)] ツールを使用すると、セットアップ プロセスが簡単になります。それ以外の場合は、[最寄り施設の検出レイヤーの作成 (Make Closest Facility Layer)] ツールを使用します。

[最寄り施設の検出 (Find Closest Facilities)] を使用して最寄り施設ジオプロセシング サービスを作成する場合、1 つのツールをセットアップするだけで済みます。このツールをサービスとして直接公開することができます。これに対して、[最寄り施設の検出レイヤーの作成 (Make Closest Facility Layer)] ツールを使用して最寄り施設ジオプロセシング サービスを作成するには、モデルを作成し、それをさまざまな他のツールに正しく接続して公開する必要があります。チュートリアル データを使用して最寄り施設サービスを設定する方法については、「Network Analyst ジオプロセシング サービスの例の概要」をご参照ください。検討すべきもう 1 つのオプションは、ArcGIS Online の最寄り施設の検出サービスです。これは ArcMap 内でジオプロセシング ツールのように動作するサービスですが、その他のアプリケーションからアクセスでき、世界の高品質な道路データが多数含まれています。

使用法

  • このツールで解析レイヤーを作成した後は、[ロケーションの追加 (Add Locations)] ツールを使用して解析レイヤーにネットワーク解析オブジェクトを追加し、[解析の実行 (Solve)] ツールを使用して解析を実行し、[レイヤー ファイルの保存 (Save To Layer File)] ツールを使用して結果をディスクに保存することができます。

  • このツールをジオプロセシング モデルに使用するときは、モデルをツールとして動作させる場合、出力ネットワーク解析レイヤーにモデル パラメーターを作成する必要があります。そうしないと、出力レイヤーはマップのコンテンツに追加されません。

構文

MakeClosestFacilityLayer_na (in_network_dataset, out_network_analysis_layer, impedance_attribute, {travel_from_to}, {default_cutoff}, {default_number_facilities_to_find}, {accumulate_attribute_name}, {UTurn_policy}, {restriction_attribute_name}, {hierarchy}, {hierarchy_settings}, {output_path_shape}, {time_of_day}, {time_of_day_usage})
パラメータ説明データ タイプ
in_network_dataset

最寄り施設の検出の解析が実行されるネットワーク データセット。

Network Dataset Layer
out_network_analysis_layer

作成する最寄り施設の検出ネットワーク解析レイヤーの名前。

String
impedance_attribute

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

String
travel_from_to
(オプション)

施設とインシデントの間で移動する方向を指定します。

  • TRAVEL_FROM —移動する方向は施設からインシデントの方向になります。
  • TRAVEL_TO —移動する方向はインシデントから施設の方向になります。

このオプションを使用することで、移動する方向に基づいた一方通行規制およびさまざまなインピーダンスを考慮した、ネットワーク上のさまざまな施設の検索が可能になります。たとえば、インシデントから施設に向かった場合に要する時間が 10 分間であったとしても、施設からインシデントに向かった場合は方向が異なるために、15 分間を要する場合があります。

消防署の場合、消防署 (施設) から緊急事態の場所 (インシデント) まで移動する時間が重視されるため、通常は TRAVEL_FROM 設定が使用されます。小売店 (施設) の場合、買物客 (インシデント) が小売店に到達するまでの時間が重視されるため、通常は TRAVEL_TO オプションが使用されます。

String
default_cutoff
(オプション)

指定されたインシデントに対する施設の検索を中止するデフォルトのインピーダンス値。TRAVEL_TO オプションが使用されているときはインシデントにカットオフ値を指定し、TRAVEL_FROM オプションが使用されているときは施設にカットオフ値を指定することで、デフォルトをオーバーライドすることができます。

Double
default_number_facilities_to_find
(オプション)

インシデントごとに検出する最寄り施設のデフォルトの数。インシデントの TargetFacilityCount プロパティの値を指定することでデフォルトをオーバーライドすることができます。

Long
accumulate_attribute_name
[accumulate_attribute_name,...]
(オプション)

解析中に累積されるコスト属性のリスト。これらの累積属性は、参考情報としてのみ使用されます。解析では、[インピーダンス] 属性パラメーターで指定されているコスト属性のみを使用してルートを計算します。

累積されるコスト属性ごとに、解析で出力されたルートに Total_[インピーダンス] プロパティが追加されます。

String
UTurn_policy
(オプション)

ジャンクションでの U ターン ポリシー。U ターンを許可するということは、解析においてジャンクションで方向転換し、同じ道路を引き返すことができるということを意味します。 ジャンクションが道路の交差と行き止まりを表すことを前提に、さまざまな車両が、一部のジャンクションでは方向転換でき、他のジャンクションでは方向転換できない、というように設定できます。これは、ジャンクションが交差と行き止まりのどちらを表すかによって変わります。これに対応するには、ジャンクションに接続するエッジの数 (ジャンクションでのノードへの接続数) によって、暗黙的に U ターン ポリシーを指定します。以下では、このパラメーターで選択できる値と、ジャンクションので接続におけるそれぞれの意味について示します。

  • ALLOW_UTURNS —任意の数の接続されたエッジを持つジャンクションで U ターンを許可します。これがデフォルト値です。
  • NO_UTURNS —ジャンクションの接続にかかわらず、すべてのジャンクションで U ターンを禁止します。ただし、この設定が選択されている場合でも、ネットワーク ロケーションでは U ターンが許可されます。同様に、個々のネットワーク ロケーションの CurbApproach プロパティで U ターンを禁止するように設定できます。
  • ALLOW_DEAD_ENDS_ONLY —1 つの隣接エッジを持つジャンクション (行き止まり) を除くすべてのジャンクションでの U ターンを禁止します。
  • ALLOW_DEAD_ENDS_AND_INTERSECTIONS_ONLY —2 つの隣接するエッジが接するジャンクションでの U ターンを禁止します。ただし、交差点 (3 つ以上の隣接エッジを持つジャンクション) および行き止まり (1 つの隣接エッジを持つジャンクション) では U ターンを許可します。ネットワークには、道路セグメントの中間に無関係のジャンクションが存在する場合があります。このオプションは、これらの場所で車両が U ターンすることを防ぎます。
ヒント:

U ターン ポリシーをさらに正確に定義する必要がある場合、グローバル ターン遅延エバリュエーターをネットワーク コスト属性に追加するか、すでに存在する場合はそれを調整することを検討してください。その際、逆ターンの設定には特に注意が必要です。また、ネットワーク ロケーションの CurbApproach プロパティの設定についても調べてください。

String
restriction_attribute_name
[restriction_attribute_name,...]
(オプション)

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

String
hierarchy
(オプション)
  • USE_HIERARCHY — 階層属性を解析に使用します。階層を使用すると、解析は下位ランクのエッジよりも上位ランクのエッジを優先します。階層解析はより高速で、運転者が遠回りであっても一般道路の代わりに高速道路を利用する状況をシミュレートするのに使用できます。このオプションは入力ネットワーク データセットが階層属性を持つ場合のみ有効です。
  • NO_HIERARCHY —階層属性を解析に使用しません。階層を使用しないことで、ネットワーク データセットの正確なルートが検索されます。

解析を実行するネットワーク データセットに使用する階層属性が定義されていない場合、パラメーターは使用されません。この場合、「"#"」をパラメーター値として使用します。

Boolean
hierarchy_settings
(オプション)

レガシー:

10 より前のバージョンでは、このパラメーターによって、解析のためにネットワーク データセット構築時のデフォルトの階層範囲から階層範囲の変更を行うことを許可していました。バージョン 10 では、このパラメーターはサポートされていないため、空の文字列を指定する必要があります。解析のために階層範囲を変更したい場合、ネットワーク データセットのデフォルトの階層範囲を更新します。

Network Analyst Hierarchy Settings
output_path_shape
(オプション)

解析で出力されるルート フィーチャの形状タイプを指定します。

  • TRUE_LINES_WITH_MEASURES (メジャー値を含む正確なライン形状) —出力ルートはネットワーク ソースの正確な形状を保持します。リニア リファレンスのためのルートのメジャー値が出力に含まれます。メジャー値は、最初のストップから増加し、指定された位置に到着するまでの累積インピーダンスを記録します。
  • TRUE_LINES_WITHOUT_MEASURES (メジャー値を含まない正確なライン形状) —出力ルートはネットワーク ソースの正確な形状を保持します。
  • STRAIGHT_LINES (直線) —出力のルート形状は各インシデントと施設間を結ぶ 1 本の直線になります。
  • NO_LINES (ラインなし) —出力ルートに形状は生成されません。

どの出力形状のタイプを選択するかに関係なく、常に最適なルートはユークリッド距離ではなくネットワーク インピーダンスによって決定されます。ネットワーク解析の結果は同じですが、ルート形状のみが異なります。

String
time_of_day
(オプション)

ルートの開始または終了の日時を指定します。この値の解釈は、[時刻の使用法] に START_TIME と END_TIME のどちらが設定されているかによって変わります。

交通量ベースのインピーダンス属性を選択した場合、ここで指定した時刻での動的な交通状況に対する解決策が生成されます。日時は、2012/05/14 10:30 のように指定できます。

特定の日付を使用する代わりに、次の日付を使用して曜日を指定することができます。

  • 今日 - 1899/12/30
  • 日 - 1899/12/31
  • 月 - 1900/1/1
  • 火 - 1900/1/2
  • 水 - 1900/1/3
  • 木 - 1900/1/4
  • 金 - 1900/1/5
  • 土 - 1900/1/6
たとえば、移動を火曜日の午後 5:00 に開始するよう指定するには、パラメーター値を 1900/1/2 17:00 に指定します。

Date
time_of_day_usage
(オプション)

[時刻] パラメーターの値がルートの到着時間と出発時間のどちらを表すかを示します。

  • START_TIME —[時刻] は、施設またはインシデントからの出発時間として解釈されます。START_TIME が選択されている場合、[時刻] は、解析が指定された出発時間における最善のルートを検出できることを示しています。[時刻] パラメーターに値を指定していない場合は、NOT_USED を選択できます。
  • END_TIME —[時刻] は、施設またはインシデントからの到着時間として解釈されます。 このオプションは、[時刻] で指定した時間に目的地に到着するために、ある場所から出発すべき時間を知りたい場合に便利です。
  • NOT_USED —[時刻] に値がない場合、必ず NOT_USED を選択します。[時刻] に値がある場合、NOT_USED は使用できません。
String

コードのサンプル

MakeClosestFacilityLayer (最寄り施設の検出レイヤーの作成) の例 1 (Python ウィンドウ)

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

network = "C:/Data/SanFrancisco.gdb/Transportation/Streets_ND"
arcpy.na.MakeClosestFacilityLayer(network, "ClosestFireStations", "TravelTime")
MakeClosestFacilityLayer (最寄り施設の検出レイヤーの作成) の例 2 (Python ウィンドウ)

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

network = "C:/Data/SanFrancisco.gdb/Transportation/Streets_ND"
arcpy.na.MakeClosestFacilityLayer(network, "ClosestHospitals", "TravelTime",
                                    "TRAVEL_TO", 5 ,3, ["Meters", "TravelTime"],
                                    "ALLOW_UTURNS", ["Oneway"], "USE_HIERARCHY",
                                    "", "TRUE_LINES_WITH_MEASURES")
MakeClosestFacilityLayer (最寄り施設の検出レイヤーの作成) の例 3 (ワークフロー)

次のスタンドアロン Python スクリプトは、MakeClosestFacilityLayer (最寄り施設の検出レイヤーの作成) ツールを使用して店舗の場所から最寄りの倉庫を検索する方法を示しています。

# Name: MakeClosestFacilityLayer_Workflow.py
# Description: Find the closest warehouse from the store locations and save the
#              results to a layer file on disk.
# 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 = r"C:/data/Paris.gdb"
    env.overwriteOutput = True

    #Set local variables
    inNetworkDataset = r"Transportation/ParisMultimodal_ND"
    outNALayerName = "ClosestWarehouse"
    impedanceAttribute = "Drivetime"
    accumulateAttributeName = ["Meters"]
    inFacilities = r"Analysis/Warehouses"
    inIncidents = r"Analysis/Stores"
    outLayerFile = os.path.join(r"C:/data/output", outNALayerName + ".lyr")

    #Create a new closest facility analysis layer. Apart from finding the drive
    #time to the closest warehouse, we also want to find the total distance. So
    #we will accumulate the "Meters" impedance attribute.
    NAResultObject = arcpy.na.MakeClosestFacilityLayer(inNetworkDataset,outNALayerName,
                                                   impedanceAttribute,"TRAVEL_TO",
                                                   "",1, accumulateAttributeName,
                                                   "NO_UTURNS")

    #Get the layer object from the result object. The closest facility layer can
    #now be referenced using the layer object.
    outNALayer = NAResultObject.getOutput(0)

    #Get the names of all the sublayers within the closest facility layer.
    subLayerNames = arcpy.na.GetNAClassNames(outNALayer)
    #Stores the layer names that we will use later
    facilitiesLayerName = subLayerNames["Facilities"]
    incidentsLayerName = subLayerNames["Incidents"]

    #Load the warehouses as Facilities using the default field mappings and
    #search tolerance
    arcpy.na.AddLocations(outNALayer, facilitiesLayerName, inFacilities, "", "")

    #Load the Stores as Incidents. Map the Name property from the NOM field
    #using field mappings
    fieldMappings = arcpy.na.NAClassFieldMappings(outNALayer, incidentsLayerName)
    fieldMappings["Name"].mappedFieldName = "NOM"
    arcpy.na.AddLocations(outNALayer, incidentsLayerName, inIncidents,
                          fieldMappings,"")

    #Solve the closest facility layer
    arcpy.na.Solve(outNALayer)

    #Save the solved closest facility layer as a layer file on disk with
    #relative paths
    arcpy.management.SaveToLayerFile(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)

環境

  • 現在のワークスペース

ライセンス情報

  • ArcGIS for Desktop Basic: ○
  • ArcGIS for Desktop Standard: ○
  • ArcGIS for Desktop Advanced: ○

関連トピック

  • 最寄り施設の検出解析
  • 階層を使用したネットワーク解析について
  • 解析ツールセットの概要
  • ネットワーク解析レイヤとは
このトピックへのフィードバック

ArcGIS for Desktop

  • ホーム
  • ドキュメント
  • 価格
  • サポート

ArcGIS プラットフォーム

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Esri について

  • 会社概要
  • 採用情報
  • スタッフ ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | プライバシー | リーガル