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

ライセンス レベル:BasicStandardAdvanced

サマリ

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

使用法

構文

CalculateLocations_na (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})
パラメータ説明データ タイプ
in_point_features

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

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

Table View
in_network_dataset

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

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

Network Dataset Layer
search_tolerance

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

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

Linear unit
search_criteria
[[Source, SnapType],...]

ロケーション検索時に検索するネットワーク データセットのソースと、使用するジオメトリの部分(スナップ タイプとも呼ばれます)を指定します。

パラメータ値は、ネストされたリストとともにリストとして指定されます。ネストしたリストは各ネットワーク ソースの名前とスナップ タイプを示す 2 つの値で構成されます。スナップ タイプは SHAPE、MIDDLE、END、NONE キーワードを使用して指定されます。

  • SHAPE - 該当するネットワーク ソース内にあるエレメントの最近接点にポイントが配置されます。
  • MIDDLE - 該当するネットワーク ソース内にあるエレメントの最近接の中間点にポイントが配置されます。
  • END - 該当するネットワーク ソース内にあるエレメントの最近接の端点にポイントが配置されます。
  • NONE - 該当するネットワーク ソース内にあるエレメントにポイントが配置されません。
たとえば、ロケーション検索時には、パラメータ値「[["Streets","SHAPE"],["Streets_ND_Junctions","NONE"]]」は、Streets_ND_Junctions ソースでなく Streets ソースの形状に基づいた検索が可能であることを示します。

1 つのネットワーク ソースに複数のスナップ タイプを指定するには、アンダースコアで区切ったスナップ タイプ キーワードの組み合わせを使用します。たとえば、MIDDLE_END はロケーションがネットワーク ソースの中間または端点にスナップされることを示します。

ジオデータベースのネットワーク データセットでは、ネットワーク ソースの各サブタイプにスナップ タイプを指定することができます。

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

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

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

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

Boolean
source_ID_field
(オプション)

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

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

Field
source_OID_field
(オプション)

計算されたネットワーク ロケーションの割合を新規作成または更新するフィールド名。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 式を示す 2 つの値で構成されます。SQL 式の構文はネットワーク ソース フィーチャクラスのタイプによって少し異なります。たとえば、クエリ対象がファイル ジオデータベース、ArcSDE ジオデータベース、シェープファイル、または SDC に格納されたソース フィーチャクラスの場合は、フィールド名を二重引用符で囲みます(「"CFCC"」)。クエリ対象がパーソナル ジオデータベースの場合は、フィールドを角括弧で囲みます(「[CFCC]」)。

特定のソースに対してクエリを定義したくない場合、SQL 式に値として「"#"」を入力するか、またはパラメータ値からソース名と SQL 式を除外します。すべてのネットワーク ソースに対してクエリを定義したくない場合、パラメータ値として「"#"」を入力します。

たとえば、パラメータ値「[["Streets","\"CFCC\" = 'A15'"], ["Streets_ND_Junctions",""]]」では、Streets ソース フィーチャクラスに対する SQL 式を定義し、Streets_ND_Junctions ソース フィーチャクラスには SQL 式を定義しません。フィールド名 CFCC を囲むために使用される二重引用符は、Python インタープリタで構文解析エラーが発生しないようにバック スラッシュ文字でエスケープされます。

Value Table

コードのサンプル

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

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

import arcpy
arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb"
arcpy.na.CalculateLocations("Analysis/Stores","Transportation/Streets_ND",
                            "5000 Meters",[["Streets","SHAPE"],
                                           ["Streets_ND_Junctions","NONE"]])
CalculateLocations(ロケーション フィールドを計算)の例 2(Python ウィンドウ)

ネットワーク ソースのサブタイプ上のポイント フィーチャのロケーション フィールドを計算します。

import arcpy
arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/Paris.gdb"
arcpy.na.CalculateLocations(
    "Analysis/Warehouses","Transportation/ParisNet","5000 Meters",
    [["Streets : Highways","NONE"],["Streets : Major Roads","NONE"],
     ["Streets : Local Streets","SHAPE"],["ParisNet_Junctions", "NONE"]],
    "MATCH_TO_CLOSEST","SID","SOID","PA","SOE","SnapX","SnapY","Distance",
    "","","","")
CalculateLocations(ロケーション フィールドを計算)の例 3(Python ウィンドウ)

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

import arcpy
arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb"
arcpy.na.CalculateLocations("Basemap/Parks","Transportation/Streets_ND","",
                            [["Streets","SHAPE"],
                             ["Streets_ND_Junctions","NONE"]],
                            location_field="Locations")
CalculateLocations(ロケーション フィールドを計算)の例 4(スタンドアロン Python スクリプト)

次の 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


#Check out the Network Analyst extension license
arcpy.CheckOutExtension("Network")

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

#Set local variables
inFeatures = "Analysis/FireStations"
inNetworkDataset = "Transportation/Streets_ND"
searchTolerance = "2000 Meters"
searchCriteria = [["Streets","SHAPE"],["Streets_ND_Junctions","NONE"]]
searchQuery = [["Streets",'"FREEWAY" = 0'],["Streets_ND_Junctions",""]]

#Calculate network locations and store them in defaut field names
arcpy.na.CalculateLocations(inFeatures,inNetworkDataset,searchTolerance,
                            searchCriteria,"MATCH_TO_CLOSEST", 
                            exclude_restricted_elements="EXCLUDE",
                            search_query=searchQuery)
print "Script completed successfully."

環境

関連トピック

ライセンス情報

ArcGIS for Desktop Basic: ○
ArcGIS for Desktop Standard: ○
ArcGIS for Desktop Advanced: ○
5/10/2014