ロケーション フィールドの計算 (Calculate Locations) (Network Analyst)

概要

ネットワーク上の入力フィーチャを検索し、これらのネットワーク ロケーションを説明するフィールドを入力フィーチャに追加します。このツールは、フィーチャをネットワーク解析の入力としてすばやく読み込むために、ネットワーク ロケーション情報をフィーチャ属性として格納するのに使用されます。

ネットワーク上でのフィーチャの検索の詳細

使用法

  • このツールは [ロケーションの追加 (Add Locations)] ツールへの入力となるロケーション フィールドを計算するために使用します。ネットワーク解析レイヤーの入力として複数回使用されるフィーチャに使用します。一度ロケーションが計算されると、フィーチャをネットワーク ロケーションとしてすばやく読み込むために [ロケーションの追加 (Add Locations)] ツールの [ジオメトリの代わりにネットワーク ロケーション フィールドを使用する] パラメーターを使用することができます。

  • このツールではさまざまな検索オプションを使用して、ネットワーク解析レイヤーで未配置のネットワーク ロケーションの再計算にも使用することができます。たとえば、最初に 500 メートルの検索許容値でルート ネットワーク解析レイヤー上にストップが追加され、いくつかのストップが未配置である場合、たとえば [属性検索 (Select Layer By Attribute)] ツールを使用して未配置のストップを選択し、検索許容値を広げた形で [入力フィーチャ] パラメーター値にストップのサブレイヤーを指定して、このツールを再実行します。

  • ネットワーク データセットのネットワーク ソースとして使用されるフィーチャクラスが有効かつ最新の空間インデックスを保持している場合、このツールは非常に高速に実行されます。

構文

arcpy.na.CalculateLocations(in_point_features, in_network_dataset, {search_tolerance}, {search_criteria}, {match_type}, {source_ID_field}, {source_OID_field}, {position_field}, {side_field}, {snap_X_field}, {snap_Y_field}, {distance_field}, {snap_Z_field}, {location_field}, {exclude_restricted_elements}, {search_query}, {travel_mode})
パラメーター説明データ タイプ
in_point_features

ネットワーク ロケーションを計算する対象となる入力フィーチャ。

ラインおよびポリゴン フィーチャは、ネットワーク ロケーション情報が BLOB フィールド ([ロケーション] 範囲フィールド パラメーターで指定される) に保存されているため、ジオデータベース フィーチャクラスのみでサポートされています。

Table View
in_network_dataset

ロケーションを計算するために使用するネットワーク データセット。

入力フィーチャに、ネットワーク解析レイヤーのサブレイヤーを指定した場合、ネットワーク解析レイヤーが参照するネットワーク データセットのパラメーターが設定されます。

Network Dataset Layer
search_tolerance
(オプション)

入力フィーチャをネットワークに配置するために使用される検索許容値。検索許容値の外側にあるフィーチャは配置されません。パラメーターには許容値の値と単位が含まれます。

デフォルトは 5,000 メートルです。

ラインまたはポリゴン フィーチャのロケーションを計算する際には、パラメーターは使用しません。

Linear Unit
search_criteria
[[Source, SnapType],...]
(オプション)

ネットワーク ロケーションの計算時に検索するネットワーク データセットのソース、および使用するジオメトリの部分 (スナップ タイプとも呼ばれます) です。たとえば、ネットワーク データセットが道路と歩道を表す個別のフィーチャクラスを参照する場合、入力を道路上に配置できますが、歩道上に配置できません。

各ネットワーク ソースに使用できるスナップ タイプ オプションは、次のとおりです。

  • SHAPE- 該当するネットワーク ソース内にあるエレメントの最近接点にポイントが配置されます。
  • MIDDLE- 該当するネットワーク ソース内にあるエレメントの最近接の中間点にポイントが配置されます。
  • END- 該当するネットワーク ソース内にあるエレメントの最近接の端点にポイントが配置されます。
  • NONE- 該当するネットワーク ソース内にあるエレメントにポイントが配置されません。

MIDDLEEND オプションは下位互換性のために維持されています。特定のネットワーク ソースに入力を配置するには、SHAPE オプションを使用します。それ以外の場合は、NONE を使用します。

ラインまたはポリゴン フィーチャのロケーションを計算する際、他のスナップ タイプが指定されていても SHAPE スナップ タイプのみが使用されます。

[ネットワークのディゾルブ (Dissolve Network)] ツールを実行して作成されたオーバーライド ジャンクションとシステム ジャンクションのデフォルト値は NONE で、これらを除くすべてのネットワーク ソースのデフォルト値は SHAPE です。

ネットワーク データ ソースがポータル サービスの場合、このパラメーターは使用されません。

パラメーター値は、ネストされたリストとともにリストとして指定されます。ネストしたリストは各ネットワーク ソースの名前とスナップ タイプを示す 2 つの値で構成されます。たとえば、[["Streets","SHAPE"],["Streets_ND_Junctions","NONE"]] のパラメーター値は、Streets_ND_Junctions ソースでなく Streets ソースの形状に基づいた検索が可能であることを示します。

このリストに入っていないネットワーク ソースでは、デフォルト スナップ タイプが使用されます。すべてのネットワーク ソースをリストに入れ、ネットワーク ソースごとにスナップ タイプを明示的に設定することをお勧めします。

ジオデータベースのネットワーク データセットでは、ネットワーク ソースの各サブタイプにスナップ タイプを指定することができます。たとえば、ネットワークに Streets というソースがあり、そのソースに Local Streets というサブタイプがある場合、["Streets : Local Streets", "SHAPE"] を使用して一般道路のスナップ タイプを指定します。

Value Table
match_type
(オプション)

新しいネットワーク ロケーションがネットワーク ソースと照合される方法を指定します。

  • MATCH_TO_CLOSEST検索条件に指定されたスナップ タイプを保持するすべてのソースのうちの最寄りのネットワーク ソースが、新しいネットワーク ロケーションと照合されます。これがデフォルトです。
  • PRIORITY検索条件に指定されたスナップ タイプを保持する最初のネットワーク ソースが、新しいネットワーク ロケーションと照合されます。ロケーションが検索許容値内で検出される場合、ソースは優先度順に検索しているストップの中から検索されます。

ラインまたはポリゴン フィーチャのロケーションを計算する際には、パラメーターは使用しません。

Boolean
source_ID_field
(オプション)

計算されたネットワーク ロケーションのソース ID を新規作成または更新するフィールド名。SourceID という名前のフィールドがデフォルトで作成または更新されます。

ラインまたはポリゴン フィーチャのロケーションを計算する際には、パラメーターは使用しません。

Field
source_OID_field
(オプション)

計算されたネットワーク ロケーションのソース OID を新規作成または更新するフィールド名。SourceOID という名前のフィールドがデフォルトで作成または更新されます。

ラインまたはポリゴン フィーチャのロケーションを計算する際には、パラメーターは使用しません。

Field
position_field
(オプション)

計算されたネットワーク ロケーションのパーセンテージによって作成または更新されるフィールド名。PosAlong という名前のフィールドがデフォルトで作成または更新されます。

ラインまたはポリゴン フィーチャのロケーションを計算する際には、パラメーターは使用しません。

Field
side_field
(オプション)

ポイント フィーチャが計算されたネットワーク ロケーションのエッジのどちら側に位置しているかを新規作成または更新するフィールド名。SideOfEdge という名前のフィールドがデフォルトで作成または更新されます。

ラインまたはポリゴン フィーチャのロケーションを計算する際には、パラメーターは使用しません。

Field
snap_X_field
(オプション)

計算されたネットワーク ロケーションの X 座標を新規作成または更新するフィールド名。SnapX という名前のフィールドがデフォルトで作成または更新されます。

ラインまたはポリゴン フィーチャのロケーションを計算する際には、パラメーターは使用しません。

Field
snap_Y_field
(オプション)

計算されたネットワーク ロケーションの Y 座標を新規作成または更新するフィールド名。SnapY という名前のフィールドがデフォルトで作成または更新されます。

ラインまたはポリゴン フィーチャのロケーションを計算する際には、パラメーターは使用しません。

Field
distance_field
(オプション)

計算されたネットワーク ロケーションからのポイント フィーチャの距離を作成または更新するフィールドの名前。Distance という名前のフィールドがデフォルトで作成または更新されます。

出力フィールドはメートルです。

ラインまたはポリゴン フィーチャのロケーションを計算する際には、パラメーターは使用しません。

Field
snap_Z_field
(オプション)

計算されたネットワーク ロケーションの Z 座標を新規作成または更新するフィールド名。SnapZ という名前のフィールドがデフォルトで作成または更新されます。

ラインまたはポリゴン フィーチャのロケーションを計算する際には、パラメーターは使用しません。

ポイント フィーチャのロケーションを計算する際、パラメーターは入力データセットがネットワーク ソースの Z 座標値に基づいた接続性をサポートするときにのみ使用されます。その他の場合はすべて「"#"」をパラメーター値として使用します。

Field
location_field
(オプション)

ラインまたはポリゴン フィーチャの計算されたネットワーク ロケーションにおけるロケーション範囲を新規作成または更新するフィールド名。Locations という名前のフィールドがデフォルトで作成または更新されます。

パラメーターは、ラインまたはポリゴン フィーチャのロケーションを計算するときのみ使用されます。入力ポイント フィーチャには、「"#"」をパラメーター値として使用します。

Field
exclude_restricted_elements
(オプション)

入力を検索するときにネットワークの規制部分を除外するかどうかを指定します。ポイントは、指定した移動モードで制限されているエレメントに配置されません。移動モードが指定されていない場合、ネットワークのデフォルト移動モードの制限が使用されます。

  • EXCLUDEネットワーク ロケーションがネットワークの通過可能な部分にのみ配置されます。これにより、規制またはバリアが原因で到達できないエレメントにネットワーク ロケーションが配置されなくなります。このオプションを使用してネットワーク ロケーションを再配置する前に、期待している結果を得るためにすべての規制バリアをネットワーク解析レイヤーに追加していることを確認してください。これがデフォルトです。
  • INCLUDEネットワーク ロケーションがネットワークのすべてのエレメントに配置されます。このオプションで再配置されるネットワーク ロケーションは、規制が適用されたエレメント上に位置している場合、解析プロセスにおいて到達不能になる可能性があります。
Boolean
search_query
[[Source, Expression],...]
(オプション)

検索をソース フィーチャクラス内のフィーチャのサブセットに制限するクエリを定義します。この機能は、解析に適していないフィーチャで検索したくない場合に有用です。たとえば、クエリを使用し、特定の道路クラスがあるフィーチャをすべて除外できます。

ネットワーク データセットのソース フィーチャクラスごとに個別の SQL 式を指定できます。デフォルトでは、ソースにクエリは使用されません。

ネットワーク データ ソースがポータル サービスの場合、このパラメーターは使用されません。

パラメーター値は、ネストされたリストのリストとして指定されます。ネストしたリストはすべてのネットワーク ソースの名前と SQL 式を示す 2 つの値で構成されます。SQL 構文の詳細については、「ArcGIS で使用されるクエリ式への SQL リファレンス」をご参照ください。

このリストに入っていないネットワーク ソースには、クエリは適用されません。同様に、空の文字列として指定された式もクエリなしとして解釈されます。

たとえば、パラメーター値 [["Streets", "\"CFCC\" = 'A15'"], ["Streets_ND_Junctions", ""]]Streets ソース フィーチャクラスのクエリを指定して、CFCC フィールドの値が A15 である道路上に入力のみを配置します。Streets_ND_Junctions ソース フィーチャクラスにクエリは適用されません。

Value Table
travel_mode
(オプション)

解析で使用する移動モードの名前。

移動モードを選択した場合、位置フィールドの計算時に、規制やインピーダンス属性などの移動モード設定が考慮されます。たとえば、入力ポイントの 1 つに最も近いネットワーク エッジがトラックで禁止されていて、移動モードがトラック輸送に設定されている場合、[ロケーション フィールドの計算 (Calculate Locations)] は、トラックで禁止されていない次に近いネットワーク エッジ上のポイントを検索します。

利用可能な移動モードは、in_network_dataset パラメーター値によって異なります。

入力フィーチャに、ネットワーク解析レイヤーのサブレイヤーを指定した場合、移動モード パラメーターは、ネットワーク解析レイヤーの移動モードに設定する必要があります。

String

派生した出力

名前説明データ タイプ
out_point_feature_class

更新された入力フィーチャ。

テーブル ビュー

コードのサンプル

CalculateLocations (ロケーション フィールドの計算) の例 1 (Python ウィンドウ)

必須パラメーターのみを使用して、ポイント フィーチャのロケーション フィールドを計算します。

stores = "C:/Data/SanFrancisco.gdb/Analysis/Hospitals/Analysis/Stores"
network = "C:/Data/SanFrancisco.gdb/Transportation/Streets_ND"
arcpy.na.CalculateLocations(stores, network, "5000 Meters",
                            [["Streets", "SHAPE"],
                            ["Streets_ND_Junctions", "NONE"]])
CalculateLocations (ロケーション フィールドの計算) の例 2 (Python ウィンドウ)

道路フィーチャ上のポイント フィーチャのロケーション フィールドを、他のネットワーク ソースを除外して計算します。

warehouses = "C:/Data/Paris.gdb/Analysis/Warehouses"
network = "C:/Data/Paris.gdb/Transportation/ParisMultimodal_ND"
arcpy.na.CalculateLocations(warehouses, network, "5000 Meters",
    [["Metro_Lines", "NONE"], ["Streets", "SHAPE"],
    ["Transfer_Stations", "NONE"], ["Metro_Entrances", "NONE"],
    ["Metro_Stations", "NONE"], ["ParisMultimodal_ND_Junctions", "NONE"]],
    "MATCH_TO_CLOSEST", "SID", "SOID", "PA", "SOE", "SnapX", "SnapY",
    "Distance")
CalculateLocations (ロケーション フィールドの計算) の例 3 (Python ウィンドウ)

ポリゴン フィーチャのロケーション フィールドを計算します。

parks = "C:/Data/SanFrancisco.gdb/Analysis/Hospitals/Basemap/Parks"
network = "C:/Data/SanFrancisco.gdb/Transportation/Streets_ND"
arcpy.na.CalculateLocations(parks, network, "", [["Streets", "SHAPE"],
                            ["Streets_ND_Junctions", "NONE"]],
                            location_field="Locations")
CalculateLocations (ロケーション フィールドの計算) の例 4 (スタンドアロン スクリプト)

次の Python スクリプトは、スタンドアロン スクリプトで CalculateLocations ツールを使用する方法を示しています。

# Name: CalculateLocations_ex04.py
# Description: Calculate network locations for fire stations. Make sure that the
#              fire stations are not located on the freeways.
# Requirements: Network Analyst Extension

#Import system modules
import arcpy
from arcpy import env

try:
    #Set environment settings
    env.workspace = "C:/Data/SanFrancisco.gdb"

    #Set local variables
    in_features = "Analysis/FireStations"
    network = "Transportation/Streets_ND"
    search_tolerance = "2000 Meters"
    search_criteria = [["Streets", "SHAPE"], ["Streets_ND_Junctions", "NONE"]]
    search_query = [["Streets", '"FREEWAY" = 0'], ["Streets_ND_Junctions", ""]]

    #Calculate network locations and store them in defaut field names
    arcpy.na.CalculateLocations(in_features, network, search_tolerance,
                                search_criteria, "MATCH_TO_CLOSEST",
                                exclude_restricted_elements="EXCLUDE",
                                search_query=search_query)

    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: はい

関連トピック