Spatial Analyst のライセンスで利用可能。
概要
2 つ以上の領域間に最小コスト接続ネットワークを生成します。
図
使用法
入力領域には、ラスターまたはフィーチャ データを使用できます。
ラスターの場合、領域は、同じ値を持つ連続 (隣接) しているセルのグループです。入力リージョンがラスターで識別され、ゾーン (同じ値を持つセル) が複数のリージョンで構成されている場合は、まず事前処理のステップとして [リージョン グループ (Region Group)] ツールを実行して、各リージョンに個別値を割り当てます。結果のラスターを [コスト接続性 (Cost Connectivity)] ツールの入力領域として使用します。
入力リージョンがポリゴン、ライン、またはポイント データで識別される場合は、結果のリージョンが個別値を持つように、フィーチャ ID を使用してラスターに変換されます。そのため、マルチパート ポリゴンは入力に使用できません。マルチポイント データが入力された場合、[コスト接続性 (Cost Connectivity)] ツールは、その位置にあるポイントの 1 つを領域値としてランダムに選択します。
ラスター化された入力フィーチャの領域は、[セル サイズ] 環境で解像度を制御できます。デフォルトでは、解像度が入力コスト ラスターの解像度に設定されます。
入力リージョン データにポリゴン フィーチャ データを使用する場合は、出力セル サイズが入力の詳細よりも粗いときの処理方法に注意する必要があります。内部的なラスター化処理では、[ポリゴン → ラスター (Polygon to Raster)] ツールと同じデフォルトの [集約タイプ] (CELL_CENTER) が使用されます。つまり、セルの中心に配置されていないデータは、ラスター化された中間領域に含まれず、距離の計算では表されません。たとえば、領域が出力のセル サイズに比べて小さい一連のポリゴン (建物のフットプリントなど) である場合は、一部のポリゴンだけが出力ラスター セルの中心に分類され、ほとんどのポリゴンが解析で失われたように見える可能性があります。
この状況を回避するには、中間的な手順として、[ポリゴン → ラスター (Polygon to Raster)] ツールを使用して入力フィーチャを直接ラスター化し、[優先フィールド] を設定して、結果の出力を [コスト接続性 (Cost Connectivity)] ツールの入力として使用します。または、入力フィーチャから適切な量の情報を捕捉できる、十分に小さいセル サイズを選択することもできます。
入力リージョンがフィーチャの場合は、ObjectID フィールド (たとえば、フィーチャ入力のタイプに応じて OID または FID) がリージョン ID として使用されます。
入力リージョンがラスターであり、行 ID の範囲が広い場合は (リージョン数がごくわずかな場合でも)、[コスト接続性 (Cost Connectivity)] のパフォーマンスに悪影響が及ぶことがあります。
[入力コスト ラスター] で NoData のセル位置は、バリアの役割を果たします。
デフォルトの処理範囲は、[入力コスト ラスター] の範囲と同じです。
このアルゴリズムは乗算処理なので、コスト ラスターに値ゼロを含めることができません。コスト ラスターに値ゼロが含まれており、これらの値が最小コストのエリアを表している場合は、まず [Con (Con)] ツールを実行して、値ゼロを小さい正の値 (0.01 など) に変更し、その後で [コスト接続性 (Cost Connectivity)] ツールを実行してください。値ゼロのエリアが解析から除外されるエリアを表している場合は、まず [Set NULL] ツールを実行して、それらの値を NoData に変更します。その後で [コスト接続性 (Cost Connectivity)] ツールを実行してください。
[隣接する接続の出力フィーチャクラス] では、近傍はユークリッド距離ではなく、コスト距離で識別されます。そのため、領域の最も近い近傍は、距離が最も近い近傍ではなく、移動コストが最も低い近傍になります。コスト アロケーション処理は、近傍の領域を識別するために実行されます。
最適な出力ネットワークは、オプションの隣接する接続の出力で生成されるパスから作成されます。オプションの隣接する接続の出力内にあるパスは、グラフ理論に変換されます。領域は頂点、パスはエッジ、累積コストはエッジのウェイトになります。パスのグラフ表現から最小スパニング ツリーが計算され、領域間を移動するのに必要な最小コスト パス ネットワークが決定されます。
各最小コスト パスは、まず、ポリゴンまたはマルチセル領域の外側の境界に到達します。ツールは、領域の境界から追加の線分でパスを延長して、領域間の開始および終了ポイントを設定し、その間の移動を可能にします。これらの線分に沿った移動の追加コストはありません。
[コスト距離 (Cost Distance)] および [コスト パス (Cost Path)] ツールを使用すると、事前情報に基づき、最小スパニング ツリー内で直接接続されていない領域を接続できます。たとえば、特定の領域で、消防士が領域から退避するために、代替の避難ルートが必要な場合があります。[コスト パス (Cost Path)] の結果のパスはリージョンのエッジにしか到達しないため、それ以降のネットワーク解析を実行するために、統合化されたネットワーク内でこれらの追加パスを使用する場合は、リージョン内でこれらのパスを延長して、最小スパニング ツリー ネットワーク内のパスと接続する必要があります。
オプションの隣接する接続の出力は、最小スパニング ツリー ネットワークの代替ネットワークとして使用することができます。この出力は、各リージョンを隣接するコスト リージョンと接続するため、多くのパスを持つ複雑なネットワークが作成されます。フィーチャクラスは、そのまま使用したり、独自のネットワークの作成元として使用することができます。そのためには、[選択] ドロップダウン リストの [属性条件で選択] ツール、[ツール] ツールバーの [フィーチャの選択] ツール、または [選択 (Select)] ジオプロセシング ツールを使用して、ネットワーク内で使用する特定のパスを選択できます。 パスの選択は、エリアの知識と結果の属性テーブルのパスに関連付けられた統計情報に基づいて決定できます。
結果のネットワーク (最小スパニング ツリーまたはオプションの隣接する接続) は、Network Analyst ネットワークに変換して、その他のネットワーク解析を実行できます。
このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。
構文
CostConnectivity(in_regions, in_cost_raster, out_feature_class, {out_neighbor_paths})
パラメーター | 説明 | データ タイプ |
in_regions | 最小コストネットワークで接続される入力領域。 領域は、ラスターまたはフィーチャ データセットによって定義できます。 領域の入力がラスターの場合、領域は同じ値を持つ連続 (隣接) するセルのグループによって定義されます。各領域には一意の番号を付ける必要があります。領域の一部でないセルは NoData にする必要があります。ラスター タイプは整数である必要があり、正または負の値を指定できます。 領域の入力がフィーチャ データセットの場合、ポリゴン、ライン、ポイントのいずれかを使用できます。ポリゴン フィーチャの領域には、マルチパート ポリゴンは使用できません。 | Raster Layer; Feature Layer |
in_cost_raster | 各セル内を平面的に通過するときにかかるインピーダンスまたはコストを定義するラスター。 各セル位置の値は、そのセル上を通過するための単位距離あたりのコストを表します。セル内を通過する総コストを取得するために、各セル位置の値にセル解像度を乗算して、対角移動についても補正します。 コスト ラスターとして、整数値または浮動小数点の値を使用できますが、負の値や 0 は使用できません (負またはゼロのコストは指定できません)。 | Raster Layer |
out_feature_class | 各入力領域を接続するために必要な、パスの最適 (最小コスト) ネットワークの出力ポリライン フィーチャクラス。 各パス (またはライン) は、一意の番号が付けられ、属性テーブルのその他のフィールドには、パスに関する特定の情報が格納されています。これらのフィールドには次のようなものがあります。
この情報から、ネットワーク内のパスに対する理解を深めることができます。 各パスは、一意のラインで表されるため、パスが同じルートを移動する場所には複数のラインがあります。 | Feature Class |
out_neighbor_paths (オプション) | 各領域からその各コスト最近隣領域までのすべてのパスを特定する出力ポリライン フィーチャクラス。 各パス (またはライン) は、一意の番号が付けられ、属性テーブルのその他のフィールドには、パスに関する特定の情報が格納されています。これらのフィールドには次のようなものがあります。
この情報から、ネットワーク内のパスに対する理解を深めることができます。これは、必要に応じて削除すべきパスを決定する場合に特に有用です。 各パスは、一意のラインで表されるため、パスが同じルートを移動する場所には複数のラインがあります。 | Feature Class |
コードのサンプル
CostConnectivity (コスト接続性) の例 1 (Python ウィンドウ)
次の Python ウィンドウ スクリプトで、[CostConnectivity (コスト接続性)] ツールの使用方法を示します。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
CostConnectivity("regions.shp", "cost_ras", "C:/sapyexamples/output/costnetwork", "C:/sapyexamples/output/costneigh")
CostConnectivity (コスト接続性) の例 2 (スタンドアロン スクリプト)
2 つの入力領域間を接続するパスの最適な最小コスト ネットワークを生成します。
# Name: CostConnectivity_Ex_02.py
# Description: Calculates the least-cost network
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inRegionData = "regions.shp"
inCostRaster = "cost_ras"
outCostNetwork = "C:/sapyexamples/output/costnetwork"
outOptCostNeigh = "C:/sapyexamples/output/costneigh"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Cost Connectivity
CostConnectivity(inRegionData, inCostRaster, outCostNetwork, outOptCostNeigh)
環境
ライセンス情報
- Basic: 次のものが必要 Spatial Analyst
- Standard: 次のものが必要 Spatial Analyst
- Advanced: 次のものが必要 Spatial Analyst