ロケーション フィールドの計算(Calculate Locations) (Network Analyst)
サマリ
フィーチャのネットワーク ロケーションが含まれている入力フィーチャにフィールドを追加します。このツールは、フィーチャをネットワーク解析レイヤの入力としてすばやく読み込むために、ネットワーク ロケーション情報をフィーチャ属性として格納するのに使用されます。
使用法
-
このツールは [ロケーションの追加(Add Locations)] ツールへの入力となるロケーション フィールドを計算するために使用します。ネットワーク解析レイヤの入力として複数回使用されるフィーチャに使用します。一度ロケーションが計算されると、フィーチャをネットワーク ロケーションとしてすばやく読み込むために [ロケーションの追加(Add Locations)] の [ジオメトリの代わりにネットワーク ロケーション フィールドを使用する] パラメータを使用することができます。
-
このツールではさまざまな検索オプションを使用して、ネットワーク解析レイヤで未配置のネットワーク ロケーションの再計算にも使用することができます。たとえば、最初に 500 メートルの検索許容値でルート ネットワーク解析レイヤ上にストップが追加され、いくつかのストップが未配置である場合、たとえば [属性検索(Select Layer By Attribute)] ツールを使用して、検索許容値を広げた形で [入力フィーチャ] にストップのサブレイヤを指定して、このツールを再実行します。
-
ネットワーク データセットのネットワーク ソースとして使用されるフィーチャクラスが有効な最新の空間インデックスを保持している場合、このツールは非常に高速に実行されます。
構文
パラメータ | 説明 | データ タイプ |
in_point_features |
ネットワーク ロケーションを計算する対象となる入力フィーチャ。 ラインおよびポリゴン フィーチャは、ネットワーク ロケーション情報が BLOB フィールド([Locations] 範囲フィールド パラメータで指定される)に保存されているため、ジオデータベース フィーチャクラスのみでサポートされています。 | Table View |
in_network_dataset |
The network dataset used to calculate the locations. 入力フィーチャに、ネットワーク解析レイヤのサブレイヤを指定した場合、ネットワーク解析レイヤが参照するネットワーク データセットのパラメータが設定されます。 | Network Dataset Layer |
search_tolerance |
入力フィーチャをネットワークに配置する際の検索許容値。検索許容値の外側にあるフィーチャは配置されません。パラメータには許容値の値と単位が含まれます。 ラインまたはポリゴン フィーチャのロケーションを計算する際には、パラメータは使用しません。この場合、「#」をパラメータ値として使用します。 | Linear unit |
search_criteria [[Source, SnapType],...] |
ロケーション検索時に検索するネットワーク データセットのソースと、使用するジオメトリの部分(スナップ タイプとも呼ばれます)を指定します。 パラメータ値は、ネストされたリストとともにリストとして指定されます。ネストしたリストは各ネットワーク ソースの名前とスナップ タイプを示す 2 つの値で構成されます。スナップ タイプは「SHAPE」、「MIDDLE」、「END」、「NONE」キーワードを使用して指定されます。たとえば、ロケーション検索時には、パラメータ値「[["Streets","SHAPE"],["Streets_ND_Junctions","NONE"]]」は、Streets_ND_Junctions ソースでなく Streets ソースの形状に基づいた検索が可能であることを示します。 1 つのネットワーク ソースに複数のスナップ タイプを指定するには、アンダースコアで区切ったスナップ タイプ キーワードの組み合わせを使用します。たとえば、MIDDLE_END はロケーションがネットワーク ソースの中間または端点にスナップされることを示します。 For geodatabase network datasets, the snap types can be specified for each subtype of the network source. When calculating locations for line or polygon features, only the Shape snap type is used even if other snap types are specified. | Value Table |
match_type (オプション) |
The parameter is not used when calculating locations for line or polygon features. In such cases, use "#" as the parameter value. | Boolean |
source_ID_field (オプション) |
Name of the field to be created or updated with the source ID of the computed network location. A field called "SourceID" is created or updated by default. The parameter is not used when calculating locations for line or polygon features. In such cases, use "#" as the parameter value. | Field |
source_OID_field (オプション) |
Name of the field to be created or updated with the source OID of the computed network location. A field called "SourceOID" is created or updated by default. The parameter is not used when calculating locations for line or polygon features. In such cases, use "#" as the parameter value. | Field |
position_field (オプション) |
Name of the field to be created or updated with the percent along of the computed network location. A field called "PosAlong" is created or updated by default. The parameter is not used when calculating locations for line or polygon features. In such cases, use "#" as the parameter value. | Field |
side_field (オプション) |
Name of the field to be created or updated with the side of edge on which the point feature is located on the computed network location. A field called "SideOfEdge" is created or updated by default. The parameter is not used when calculating locations for line or polygon features. In such cases, use "#" as the parameter value. | Field |
snap_x_field (オプション) |
Name of the field to be created or updated with the x-coordinate of the computed network location. A field called "SnapX" is created or updated by default. The parameter is not used when calculating locations for line or polygon features. In such cases, use "#" as the parameter value. | Field |
snap_y_field (オプション) |
Name of the field to be created or updated with the y-coordinate of the computed network location. A field called "SnapY" is created or updated by default. The parameter is not used when calculating locations for line or polygon features. In such cases, use "#" as the parameter value. | Field |
distance_field (オプション) |
Name of the field to be created or updated with the distance of the point feature from the computed network location. A field called "Distance" is created or updated by default. The parameter is not used when calculating locations for line or polygon features. In such cases, use "#" as the parameter value. | Field |
snap_Z_field (オプション) |
Name of the field to be created or updated with the z-coordinate of the computed network location. A field called "SnapZ" is created or updated by default. The parameter is not used when calculating locations for line or polygon features. In such cases, use "#" as the parameter value. ポイント フィーチャのロケーションを計算する際、パラメータは入力データセットがネットワーク ソースの Z 座標値に基づいた接続性をサポートするときにのみ使用されます。その他の場合はすべて、「#」をパラメータ値として使用します。 | Field |
location_field (オプション) |
Name of the field to be created or updated with the location ranges of the computed network locations for the line or polygon features. A field called "Locations" is created or updated by default. パラメータは、ラインまたはポリゴン フィーチャのロケーションを計算するときのみ使用されます。入力ポイント フィーチャには、「#」をパラメータ値として使用します。 | Field |
exclude_restricted_elements (オプション) |
このパラメータは、入力フィーチャがネットワーク解析レイヤのサブレイヤに属し、バリア オブジェクトでないときにのみ適用されます。その他の場合はすべて、「#」をパラメータ値として使用します。
| Boolean |
search_query [[Source, Expression],...] (オプション) | Specifies a query to restrict the search to a subset of the features within a source feature class. This is useful if you don't want to find features that may be unsuited for a network location. For example, if you are loading centroids of polygons and don't want to locate on local roads, you can define a query that searches for major roads only. パラメータ値は、ネストされたリストとともにリストとして指定されます。ネストしたリストはすべてのネットワーク ソースの名前と 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 |
コードのサンプル
必須パラメータのみを使用して、ポイント フィーチャのロケーション フィールドを計算します。
import arcpy arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb" arcpy.CalculateLocations_na("Analysis/Stores","Transportation/Streets_ND", "5000 Meters",[["Streets","SHAPE"], ["Streets_ND_Junctions","NONE"]])
ネットワーク ソースのサブタイプ上のポイント フィーチャのロケーション フィールドを計算します。
import arcpy arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/Paris.gdb" arcpy.CalculateLocations_na( "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", "","","","")
ポリゴン フィーチャのロケーション フィールドを計算します。
import arcpy arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb" arcpy.CalculateLocations_na("Basemap/Parks","Transportation/Streets_ND","", [["Streets","SHAPE"], ["Streets_ND_Junctions","NONE"]], location_field="Locations")
次の 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.CalculateLocations_na(inFeatures,inNetworkDataset,searchTolerance, searchCriteria,"MATCH_TO_CLOSEST", exclude_restricted_elements="EXCLUDE", search_query=searchQuery) print "Script completed successfully."