ラベル | 説明 | データ タイプ |
入力ラスターまたは領域フィーチャ データ | 最適なネットワークで接続される入力領域。 領域は、ラスターまたはフィーチャ データセットによって定義できます。 領域の入力がラスターの場合、領域は同じ値を持つ連続 (隣接) するセルのグループによって定義されます。 各領域には一意の番号を付ける必要があります。 領域の一部でないセルは NoData にする必要があります。 ラスター タイプは整数である必要があり、正または負の値を指定できます。 領域の入力がフィーチャ データセットの場合、ポリゴン、ポリライン、ポイントのいずれかを使用できます。 ポリゴン フィーチャの領域には、マルチパート ポリゴンは使用できません。 | Raster Layer; Feature Layer |
出力最適接続ライン | 各入力領域を接続するパスの最適ネットワークの出力ポリライン フィーチャクラス。 各パス (またはライン) は、一意の番号が付けられ、属性テーブルのその他のフィールドには、パスに関する特定の情報が格納されています。 次のような追加フィールドがあります。
この情報から、ネットワーク内のパスに対する理解を深めることができます。 各パスは、一意のラインで表されるため、パスが同じルートを移動する場所には複数のラインがあります。 | Feature Class |
入力バリア ラスターまたはフィーチャ データ (オプション) | バリアを定義するデータセット。 バリアは、整数または浮動小数点ラスター、またはポイント、ライン、ポリゴン フィーチャのいずれかによって定義できます。 | Raster Layer; Feature Layer |
入力コスト ラスター (オプション) | 各セル内を平面的に通過するときにかかるインピーダンスまたはコストを定義するラスター。 各セル位置の値は、そのセル上を通過するための単位距離あたりのコストを表します。 セル内を通過する総コストを取得するために、各セル位置の値にセル解像度を乗算して、対角移動についても補正します。 コスト ラスターとして、整数値または浮動小数点値を使用できますが、負の値や 0 は使用できません (負またはゼロのコストは指定できません)。 | Raster Layer |
隣接する接続の出力フィーチャクラス (オプション) | 各領域からその最近接またはコスト近傍の各領域までのすべてのパスを特定する出力ポリライン フィーチャクラス。 各パス (またはライン) は、一意の番号が付けられ、属性テーブルのその他のフィールドには、パスに関する特定の情報が格納されています。 次のような追加フィールドがあります。
この情報から、ネットワーク内のパスに対する理解を深めることができます。これは、必要に応じて削除すべきパスを決定する場合に有用です。 各パスは、一意のラインで表されるため、パスが同じルートを移動する場所には複数のラインがあります。 | Feature Class |
距離計算の方法 (オプション) | 距離を平面 (平面地球) と測地線 (楕円体) のどちらの方法を用いて計算するかを指定します。
| String |
領域内の接続 (オプション) | パスが続行し、入力領域内に接続するかどうかを指定します。
| String |
Spatial Analyst のライセンスで利用可能。
使用法
入力領域には、ラスターまたはフィーチャ データを使用できます。
ラスターの場合、領域は、同じ値を持つ連続 (隣接) しているセルのグループです。 入力領域がラスターで識別されるとき、ゾーン (同じ値を持つセル) が複数の領域から構成される場合、事前処理のステップとして、まず [リージョン グループ (Region Group)] ツールを実行して、各領域に個別値を割り当てます。 次に、生成されたラスターを [最適領域接続 (Optimal Region Connections)] ツールへの入力領域として使用します。
入力領域がポリゴン、ライン、ポイント データで識別されるときは、結果の領域は個別値を持つように、フィーチャ ID を使用してラスターに変換されます。 マルチパート ポリゴンを入力として使用することはできません。 マルチポイント データが入力された場合、[最適領域接続 (Optimal Region Connections)] ツールは、その位置にあるポイントの 1 つを領域値としてランダムに選択します。
ラスター化された入力フィーチャの領域は、Cell Size 環境で解像度を制御できます。 デフォルトでは、解像度が入力コスト ラスター (指定されている場合) の解像度に設定されます。
入力領域データにポリゴン フィーチャ データを使用する場合は、出力セル サイズが入力の詳細よりも粗いときの処理方法に注意する必要があります。 内部的なラスター化処理では、[ポリゴン → ラスター (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」をご参照ください。
パラメーター
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 | 各入力領域を接続するパスの最適ネットワークの出力ポリライン フィーチャクラス。 各パス (またはライン) は、一意の番号が付けられ、属性テーブルのその他のフィールドには、パスに関する特定の情報が格納されています。 次のような追加フィールドがあります。
この情報から、ネットワーク内のパスに対する理解を深めることができます。 各パスは、一意のラインで表されるため、パスが同じルートを移動する場所には複数のラインがあります。 | Feature Class |
in_barrier_data (オプション) | バリアを定義するデータセット。 バリアは、整数または浮動小数点ラスター、またはポイント、ライン、ポリゴン フィーチャのいずれかによって定義できます。 | Raster Layer; Feature Layer |
in_cost_raster (オプション) | 各セル内を平面的に通過するときにかかるインピーダンスまたはコストを定義するラスター。 各セル位置の値は、そのセル上を通過するための単位距離あたりのコストを表します。 セル内を通過する総コストを取得するために、各セル位置の値にセル解像度を乗算して、対角移動についても補正します。 コスト ラスターとして、整数値または浮動小数点値を使用できますが、負の値や 0 は使用できません (負またはゼロのコストは指定できません)。 | Raster Layer |
out_neighbor_paths (オプション) | 各領域からその最近接またはコスト近傍の各領域までのすべてのパスを特定する出力ポリライン フィーチャクラス。 各パス (またはライン) は、一意の番号が付けられ、属性テーブルのその他のフィールドには、パスに関する特定の情報が格納されています。 次のような追加フィールドがあります。
この情報から、ネットワーク内のパスに対する理解を深めることができます。これは、必要に応じて削除すべきパスを決定する場合に有用です。 各パスは、一意のラインで表されるため、パスが同じルートを移動する場所には複数のラインがあります。 | Feature Class |
distance_method (オプション) | 距離を平面 (平面地球) と測地線 (楕円体) のどちらの方法を用いて計算するかを指定します。
| String |
connections_within_regions (オプション) | パスが続行し、入力領域内に接続するかどうかを指定します。
| String |
コードのサンプル
次の 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")
2 つの入力領域間を接続するパスの最適な最小コスト ネットワークを生成します。
# Name: OptimalRegionConnections_Ex_02.py
# Description: Calculates for each cell the optimum region connections.
#
# 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 = "source.shp"
inCostRaster = "elevation"
maxDistance = 20000000
outBkLinkRaster = "C:/sapyexamples/output/outbklink.tif"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute the tool
outOptRegConnect = OptimalRegionConnections(inSourceData, inCostRaster)
# Save the output
outOptRegConnect.save.save("C:/sapyexamples/output/optregconnect.tif")
環境
ライセンス情報
- Basic: 次のものが必要 Spatial Analyst
- Standard: 次のものが必要 Spatial Analyst
- Advanced: 次のものが必要 Spatial Analyst