最適領域接続 (Optimal Region Connections) (Spatial Analyst)

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

サマリー

2 つ以上の領域間の最適な接続ネットワークを計算します。

最適ネットワークを使用した領域の接続について説明します

使用法

  • 入力領域には、ラスターまたはフィーチャ データを使用できます。

  • ラスターの場合、領域は、同じ値を持つ連続 (隣接) しているセルのグループです。 入力領域がラスターで識別されるとき、ゾーン (同じ値を持つセル) が複数の領域から構成される場合、事前処理のステップとして、まず [リージョン グループ (Region Group)] ツールを実行して、各領域に個別値を割り当てます。 次に、結果のラスターを [最適領域接続 (Optimal Region Connections)] ツールの入力領域として使用します。

  • 入力領域がポリゴン、ライン、ポイント データで識別されるときは、結果の領域は個別値を持つように、フィーチャ ID を使用してラスターに変換されます。 マルチパート ポリゴンは入力として使用できません。 マルチポイント データが入力された場合、[最適領域接続 (Optimal Region Connections)] ツールは、その位置にあるポイントの 1 つを領域値としてランダムに選択します。

    ラスター化された入力フィーチャの領域は、[セル サイズ] 環境で解像度を制御できます。 デフォルトでは、解像度が入力コスト ラスター (指定されている場合) の解像度に設定されます。

  • 入力領域データにポリゴン フィーチャ データを使用する場合は、出力セル サイズが入力の詳細よりも粗いときの処理方法に注意する必要があります。 内部的なラスター化処理では、[ポリゴン → ラスター (Polygon to Raster)] ツールと同じデフォルトの [集約タイプ] ([セルの中心]) が使用されます。 つまり、セルの中心に配置されていないデータは、ラスター化された中間領域に含まれず、距離の計算では表されません。 たとえば、領域が出力のセル サイズに比べて小さい一連のポリゴン (建物のフットプリントなど) である場合は、一部のポリゴンだけが出力ラスター セルの中心に分類され、ほとんどのポリゴンが解析で失われたように見える可能性があります。

    この状況を回避するには、中間的な手順として、[ポリゴン → ラスター (Polygon to Raster)] ツールを使用して入力フィーチャを直接ラスター化し、[優先フィールド] の値を設定して、結果の出力を [最適領域接続 (Optimal Region Connections)] ツールの入力として使用します。 または、入力フィーチャから適切な量の情報を捕捉できる、十分に小さいセル サイズを選択することもできます。

  • リージョン入力がフィーチャの場合、ObjectID フィールドがリージョン識別子として使用されます。

  • 入力領域がラスターで、領域の数が非常に少ないにもかかわらず行 ID の範囲が非常に大きい場合は、[最適リージョン接続 (Optimal Region Connections)] ツールのパフォーマンスに悪影響が及ぶことがあります。

  • [入力コストラスターまたはフィーチャ データ] パラメーターで特定した位置、[入力コスト ラスター] パラメーターで NoData のセル位置、または [マスク] 内にない場所はすべてバリアとしての役割を果たします。

  • 解析 [マスク] 環境は、フィーチャまたはラスター データセットに設定することができます。 マスクがフィーチャの場合は、ラスターに変換されます。 値を含むセルは、マスク エリア内にある位置を定義します。 NoData セルは、マスク エリア外にある位置を定義し、バリアと見なされます。

  • デフォルトの処理範囲は [入力コスト ラスター] の値が指定されている場合、それと同じに設定されます。指定されていない場合は、入力領域の範囲に設定されます。

  • このアルゴリズムは乗算過程なので、[入力コスト ラスター] パラメーターにゼロ値を含めることができません。 コスト ラスターにゼロ値が含まれており、それらの値が最小コストを表している場合は、ゼロ値を小さい正の値 (0.01 など) に変更してからこのツールを実行してください。

    [Con] ツールを使用して、ゼロ値のセルを別の値に変更できます。 ゼロ値を含むエリアが、分析から除外してはならないエリアである場合は、まず [Set Null] ツールを実行して、これらの値を NoData に変換します。

  • [隣接する接続の出力フィーチャクラス] パラメーターでコスト サーフェスが指定されていない場合、近傍はユークリッド距離によって識別されます。 その場合は、領域の最も近い近傍は、距離が最も近い近傍になります。 しかし、コスト サーフェスが指定されている場合、最も低いものが領域の最も近い近傍となるコスト距離によって近傍が識別されます。 コスト アロケーション処理は、近傍の領域を識別するために実行されます。

  • 最適な出力ネットワークは、オプションの隣接する接続の出力で生成されるパスから作成されます。 オプションの隣接する接続の出力内にあるパスは、グラフ理論に変換されます。 領域は頂点、パスはエッジ、累積距離またはコストはエッジのウェイトになります。 パスのグラフ表現から最小スパニング ツリーが計算され、領域間を移動するのに必要な最最適パス ネットワークが決定されます。

  • 各最適パスは、まず、ポリゴンまたはマルチセル領域の外側の境界に到達します。 ツールは、領域の境界から追加の線分でパスを延長して、領域間の開始および終了ポイントを設定し、その間の移動を可能にします。 これらの線分に沿った移動の追加距離またはコストはありません。

  • 入力領域とアロケーション近傍の構成によって、パスは中間領域を通過して、近傍領域に到達できます。 パスが中間領域を移動すると、コストが発生します。

  • オプションの隣接する接続の出力は、最小スパニング ツリー ネットワークの代替ネットワークとして使用することができます。 この出力は、各領域を隣接するコスト領域と接続するため、多くのパスを持つより複雑なネットワークを作成します。 フィーチャクラスは、そのまま使用したり、独自のネットワークの作成元として使用することができます。 そのためには [属性検索] ボタンか、[マップ] タブの [選択] グループか、[属性検索 (Select Layer By Attribute)] ツールを使用し、ネットワーク内で使用する特定のパスを選択します。 パスの選択は、エリアの知識と結果の属性テーブルのパスに関連付けられた統計情報に基づいています。

  • 結果のネットワーク (最小スパニング ツリーまたはオプションの隣接する接続) は、Network Analyst ネットワークに変換して、その他のネットワーク解析を実行できます。

  • このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。

パラメーター

ラベル説明データ タイプ
入力ラスターまたは領域フィーチャ データ

最適ネットワークで接続される入力領域。

領域は、ラスターまたはフィーチャ データセットによって定義できます。

領域の入力がラスターの場合、領域は同じ値を持つ連続 (隣接) するセルのグループによって定義されます。 各領域には一意の番号を付ける必要があります。 領域の一部でないセルは NoData にする必要があります。 ラスター タイプは整数である必要があり、正または負の値を指定できます。

領域の入力がフィーチャ データセットの場合、ポリゴン、ポリライン、ポイントのいずれかを使用できます。 ポリゴン フィーチャの領域には、マルチパート ポリゴンは使用できません。

Raster Layer; Feature Layer
出力最適接続ライン

各入力領域を接続するパスの最適ネットワークの出力ポリライン フィーチャクラス。

各パス (またはライン) は、一意の番号が付けられ、属性テーブルのその他のフィールドには、パスに関する特定の情報が格納されています。 これらの追加フィールドには次のようなものがあります。

  • PATHID- パスの一意な ID
  • PATHCOST- パスの合計累積距離またはコスト
  • REGION1- パスが接続する最初の領域
  • REGION2- パスが接続するその他の領域

この情報から、ネットワーク内のパスに対する理解を深めることができます。

各パスは、一意のラインで表されるため、パスが同じルートを移動する場所には複数のラインがあります。

Feature Class
入力バリア ラスターまたはフィーチャ データ
(オプション)

バリアを定義するデータセット。

バリアは、整数または浮動小数点ラスターで定義するか、ポイント、ライン、またはポリゴン フィーチャで定義することができます。

Raster Layer; Feature Layer
入力コスト ラスター
(オプション)

各セル内を平面的に通過するときにかかるインピーダンスまたはコストを定義するラスター。

各セル位置の値は、そのセル上を通過するための単位距離あたりのコストを表します。 セル内を通過する総コストを取得するために、各セル位置の値にセル解像度を乗算して、対角移動についても補正します。

コスト ラスターとして、整数値または浮動小数点値を使用できますが、負の値や 0 は使用できません (負またはゼロのコストは指定できません)。

Raster Layer
隣接する接続の出力フィーチャクラス
(オプション)

各領域からその各コスト最近隣またはコスト近傍までのすべてのパスを特定する出力ポリライン フィーチャクラス。

各パス (またはライン) は、一意の番号が付けられ、属性テーブルのその他のフィールドには、パスに関する特定の情報が格納されています。 これらの追加フィールドには次のようなものがあります。

  • PATHID- パスの一意な ID
  • PATHCOST- パスの合計累積距離またはコスト
  • REGION1- パスが接続する最初の領域
  • REGION2- パスが接続するその他の領域

この情報から、ネットワーク内のパスに対する理解を深めることができます。これは、必要に応じて削除すべきパスを決定する場合に有用です。

各パスは、一意のラインで表されるため、パスが同じルートを移動する場所には複数のラインがあります。

Feature Class
距離計算の方法
(オプション)

平面 (平面地球) または測地線 (楕円体) のどちらの方法を使用して距離を計算するかを指定します。

  • 平面距離計算は、2 次元直交座標系を使用して投影された平面で実行されます。 これがデフォルトです。
  • 測地線距離は楕円形に基づいて計算されます。 入力または出力投影に関係なく、結果は変わりません。
String
領域内の接続
(オプション)

パスが継続し、入力領域内で接続するかどうかを指定します。

  • 接続の生成パスが入力領域内で継続し、領域に入るすべてのパスと接続します。
  • 接続なしパスは入力領域のエッジで停止し、領域内で継続または接続されません。
String

OptimalRegionConnections(in_regions, out_feature_class, {in_barrier_data}, {in_cost_raster}, {out_neighbor_paths}, {distance_method}, {connections_within_regions})
名前説明データ タイプ
in_regions

最適ネットワークで接続される入力領域。

領域は、ラスターまたはフィーチャ データセットによって定義できます。

領域の入力がラスターの場合、領域は同じ値を持つ連続 (隣接) するセルのグループによって定義されます。 各領域には一意の番号を付ける必要があります。 領域の一部でないセルは NoData にする必要があります。 ラスター タイプは整数である必要があり、正または負の値を指定できます。

領域の入力がフィーチャ データセットの場合、ポリゴン、ポリライン、ポイントのいずれかを使用できます。 ポリゴン フィーチャの領域には、マルチパート ポリゴンは使用できません。

Raster Layer; Feature Layer
out_feature_class

各入力領域を接続するパスの最適ネットワークの出力ポリライン フィーチャクラス。

各パス (またはライン) は、一意の番号が付けられ、属性テーブルのその他のフィールドには、パスに関する特定の情報が格納されています。 これらの追加フィールドには次のようなものがあります。

  • PATHID- パスの一意な ID
  • PATHCOST- パスの合計累積距離またはコスト
  • REGION1- パスが接続する最初の領域
  • REGION2- パスが接続するその他の領域

この情報から、ネットワーク内のパスに対する理解を深めることができます。

各パスは、一意のラインで表されるため、パスが同じルートを移動する場所には複数のラインがあります。

Feature Class
in_barrier_data
(オプション)

バリアを定義するデータセット。

バリアは、整数または浮動小数点ラスターで定義するか、ポイント、ライン、またはポリゴン フィーチャで定義することができます。

Raster Layer; Feature Layer
in_cost_raster
(オプション)

各セル内を平面的に通過するときにかかるインピーダンスまたはコストを定義するラスター。

各セル位置の値は、そのセル上を通過するための単位距離あたりのコストを表します。 セル内を通過する総コストを取得するために、各セル位置の値にセル解像度を乗算して、対角移動についても補正します。

コスト ラスターとして、整数値または浮動小数点値を使用できますが、負の値や 0 は使用できません (負またはゼロのコストは指定できません)。

Raster Layer
out_neighbor_paths
(オプション)

各領域からその各コスト最近隣またはコスト近傍までのすべてのパスを特定する出力ポリライン フィーチャクラス。

各パス (またはライン) は、一意の番号が付けられ、属性テーブルのその他のフィールドには、パスに関する特定の情報が格納されています。 これらの追加フィールドには次のようなものがあります。

  • PATHID- パスの一意な ID
  • PATHCOST- パスの合計累積距離またはコスト
  • REGION1- パスが接続する最初の領域
  • REGION2- パスが接続するその他の領域

この情報から、ネットワーク内のパスに対する理解を深めることができます。これは、必要に応じて削除すべきパスを決定する場合に有用です。

各パスは、一意のラインで表されるため、パスが同じルートを移動する場所には複数のラインがあります。

Feature Class
distance_method
(オプション)

平面 (平面地球) または測地線 (楕円体) のどちらの方法を使用して距離を計算するかを指定します。

  • PLANAR距離計算は、2 次元直交座標系を使用して投影された平面で実行されます。 これがデフォルトです。
  • GEODESIC距離は楕円形に基づいて計算されます。 入力または出力投影に関係なく、結果は変わりません。
String
connections_within_regions
(オプション)

パスが継続し、入力領域内で接続するかどうかを指定します。

  • GENERATE_CONNECTIONSパスが入力領域内で継続し、領域に入るすべてのパスと接続します。
  • NO_CONNECTIONSパスは入力領域のエッジで停止し、領域内で継続または接続されません。
String

コードのサンプル

OptimalRegionConnections の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、OptimalRegionConnections 関数の使用方法を示しています。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outOptRegConnect = OptimalRegionConnections("source.shp", "elevation")
outOptRegConnect.save("C:/sapyexamples/output/optregconnect.tif")
OptimalRegionConnections の例 2 (スタンドアロン スクリプト)

2 つの入力領域間を接続するパスの最適な最小コスト ネットワークを生成します。

# Name: OptimalRegionConnections_Ex_02.py
# Description: Calculates the optimal network of connections for the sources.
#
# 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
inSourceData = "sources.shp"
inBarrier = "barriers.tif"
inCostRaster = "cost_surface.tif"

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

# Execute the tool
outOptRegConnect = OptimalRegionConnections(inSourceData, inBarrier, inCostRaster)

# Save the output 
outOptRegConnect.save("C:/sapyexamples/output/optregconnect.tif")