Spatial Analyst のライセンスで利用可能。
概要
指定した評価条件を満たし、識別された形状、サイズ、数、および領域内の距離制限を満たす入力有用性 (適合性) ラスターから、最適な領域、または連続セルのグループを識別します。
このツールは、パラメーター化された領域拡張 (PRG) アルゴリズムを使用して、指定した形状を最適に維持しながら領域の有用性も最大化する隣接セルを領域に追加することで、シード セルから候補領域を拡張します。選択アルゴリズムと評価条件 (最も高い平均値など) を使用して、特定されたサイズと空間的制限を満たす候補領域から最適な領域が選択されます。空間的制限の例としては、領域間で特定の最小距離を維持することなどが挙げられます。
使用法
多くの場合、入力有用性ラスターは、適合性モデルの出力です。適合性モデルは、各場所の適合性を、その場所で実際に見つかった必要な属性に基づいて識別します。適合性モデリングは、Spatial Analyst で最も一般的なアプリケーションの 1 つです。適合性モデリングの詳細については、「オーバーレイ解析について」をご参照ください。
有用性ラスターの入力値が高いほど、有用性が高くなります。
[領域間の最小距離] と [領域間の最大距離] の設定は、[合計面積] より優先されます。たとえば、5 つの領域が必要な場合でも、指定した最小距離と最大距離のために特定できる領域が 4 つだけの場合は、4 つの領域のみが選択されます。その結果、[合計面積] は条件を満たしません。警告が通知される場合もありますが、されない場合もあります。
パラメーター化された領域拡張 (PRG) アルゴリズムは、入力ラスターの有用性の値に基づき、領域を拡張します。セルの値が大きいほど拡張効果は高くなります。[評価方法] は、選択される候補領域を決定します。これは、領域の拡張には影響しません。
[領域の特定 (Locate Regions)] ツールは、計算負荷が非常に高い処理です。入力データの設定方法と、これに影響する特定のパラメーターの設定には、いくつかの手順があります。
処理を高速化するには、選択処理で考慮しない場所を、事前処理のステップで NoData に設定するか、マスクを使用して除去する必要があります。領域は、これらの除外された場所からは拡張せず、選択プロセスに割り当てられません。除外されたエリアは、[既存の領域入力ラスターまたはフィーチャ] とは異なり、パラメーター化された領域拡張 (PRG) アルゴリズムや候補領域の選択において、[領域間の最小距離] と [領域間の最大距離] に影響しません。
[拡張元のシードの数] と [拡張の解像度] パラメーターで選択されたオプションは、処理時間に大きな影響を与える可能性があります。
これらのパラメーターで Small および Low オプションを選択すると、最高のパフォーマンスが実現します。[拡張元のシードの数] に Small、Medium、Large を、[拡張の解像度] に Low、Medium、High を選択すると、適切な時間内に最も信頼できる結果を得ることができます。
[拡張元のシードの数] または [拡張の解像度] で Maximum 以外のオプションを指定した場合は、すべてのセルから領域が拡張しなかったり粗い解像度にリサンプリングされるため、データが失われます。ただし、入力ラスターのサイズによっては、Maximum オプションを使用すると、処理に非常に時間がかかる可能性があります。そのため、その他のオプションの方が実用的な場合があります。
入力ラスターのサイズによっては、[拡張元のシードの数] または [拡張の解像度] で Maximum を選択すると、時間がかかる可能性があります。 [領域の特定 (Locate Regions)] のアルゴリズムは、2 ステップのプロセスで実行されます。まず、候補領域が拡張され、次に、候補領域から最適な領域が選択されます。入力ラスターが大きい場合、領域の拡張に時間がかかる可能性があります。ただし、領域の選択ステップでは、距離マトリックスが最初に読み込まれます。このマトリックスをメモリ制限のために読み込むことができない場合、ツールは処理を終了します。このような場合は、拡張元のシードの数を少なくするか、拡張の解像度を低くします。
[拡張元のシードの数] と [拡張の解像度] のデフォルト値は、入力ラスター内のセル数に依存します。入力ラスター内のセルが多いほど、このツールの実行時間は長くなります。実行時間が極端に長くならないように、これらのデフォルト値は適切に設定されています。
入力セル数
拡張元のシードの数 拡張の解像度 <= 100,000
最大 最大 100,000 - 500,000
小 最大 > 500,000
小 低 [領域の数] が 8 より大きい場合は、[領域の選択方法] で Sequential オプションを使用することをお勧めします。8 より多くの領域が選択されている場合に Combinatorial 方法を使用すると、パフォーマンスが低下する可能性があります。
通常、[拡張元のシードの数] の値は、処理速度に最も大きな影響を与えます。拡張元のシードの数が多いほど、ツールの処理時間は長くなります。ただし、ほとんどの場合、指定した値に関係なく、結果は似たものになります。
[拡張元のシードの数] は、有用性の値に基づいて入力ラスター内に分散します。有用性の値が高いエリアには、より多くのシードが配置されます。[評価方法] は、この分散に影響しません。
[拡張の解像度] は、パラメーター化された領域拡張が実行される解像度を設定します。入力ラスターは、共一次内挿法を使用して、定義された解像度にリサンプリングされます。領域が選択されると、最終的な出力ラスターが作成される前に、最近隣内挿法を使用して結果がセル サイズ環境にリサンプリングされます。
入力ラスターのエッジにある領域に対して、形状の調整が実行されます。形状を維持するために少なくとも 1 つのセルが入力ラスターの境界外に存在する必要がある場合、領域の有用性は 50 % に減少します。この有用性の減少によって、この領域が選択される可能性が低くなりますが、この領域が減少によって選択プロセスから除外されるわけではありません。
[領域内の島を許可しない] がオンの場合、選択された面積が、指定された合計面積より大きくなる可能性があります。選択された面積と指定した合計面積の間の矛盾が、島を許可しないパラメーターに基づくかどうかを判断するには、このパラメーターをオフにしてツールを再実行します。最初の実行で使用した出力ラスター属性テーブルの COUNT からセル数を追加します。次に、ツールを再実行し、それぞれの合計にセルの面積を乗算し、指定した面積と結果を比較します。
[拡張の解像度] で Maximum 以外のオプションが指定された場合、後処理を通じて、各領域の元の有用性の値は [ゾーン統計 (Zonal Statistics)] を使用して識別できます。 [領域の特定 (Locate Regions)] の出力領域ラスターをゾーン ラスターとして、入力有用性ラスターを値ラスターとして入力します。
このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。
構文
LocateRegions(in_raster, {total_area}, {area_units}, {number_of_regions}, {region_shape}, {region_orientation}, {shape_tradeoff}, {evaluation_method}, {minimum_area}, {maximum_area}, {minimum_distance}, {maximum_distance}, {distance_units}, {in_existing_regions}, {number_of_neighbors}, {no_islands}, {region_seeds}, {region_resolution}, {selection_method})
パラメーター | 説明 | データ タイプ |
in_raster | 領域を取得する入力有用性ラスター。 入力ラスターの値が大きいほど、有用性が高くなります。 ラスターは、整数型または浮動小数点型のいずれかになります。 | Raster Layer |
total_area (オプション) | すべての領域の合計面積。 デフォルトは、処理範囲内にある入力セルの 10 % です。 | Double |
area_units (オプション) | total_area、minimum_area、maximum_area の各パラメーターで使用される面積の単位を定義します。 利用可能なオプションとそれに対応する単位は次のとおりです。
デフォルトは、入力ラスター データセットに基づきます。入力ラスターの単位がフィート、ヤード、マイル、その他のインペリアル単位の場合、Square miles が使用されます。入力ラスターの単位がメートル、キロメートル、その他のメトリック単位の場合、Square kilometers が使用されます。 | String |
number_of_regions (オプション) | total_area に分散する領域の数を決定します。 指定できる領域の最大数は 30 です。デフォルトは 1 です。 | Long |
region_shape (オプション) | 出力領域の形状の特徴を定義します。 領域は、シード セルの位置から開始して、セルに指定された、目的の形状を維持する優先順位を使用して外側に拡張します。 利用可能な形状オプションは次のとおりです。
| String |
region_orientation (オプション) | 定義された形状の方向を定義します。領域は、セルに指定された、領域の形状における目的の方向を維持する優先順位を使用して、シードの場所から拡張します。 方向の値は、北から時計回りに 0 ~ 360 度です。デフォルトは 0 です。 デフォルトの 0 の場合、円形は変化なし、楕円は補助軸の向きが南北、三角形と五角形は 1 つのポイントが真上、四角形、六角形、八角形は 1 つの辺が東西になります。 | Double |
shape_tradeoff (オプション) | パラメーター化された領域拡張アルゴリズムで候補領域が拡張しているときのセルのウェイトを識別します。重み付けは、領域の形状を維持するためのセルの寄与度と、セルの属性値の有用性寄与度とのトレードオフです。 値が高いほど、領域の形状を維持することが、高い有用性の値を選択することより重要になります。使用できるパーセント値は 0 ~ 100 です。デフォルトは 50 です。 このパラメーターは、実現可能な候補領域を識別するために使用されます。アルゴリズムで選択される候補領域は、evaluation_method パラメーターによって制御されます。 | Double |
evaluation_method (オプション) | パラメーター化された領域拡張アルゴリズムで識別された候補領域の中で、最も優先される領域を決定するために使用される評価条件です。優先順位は、有用性値の特定の統計情報や、領域内のセルの空間配置に基づいて指定できます。 利用可能なオプションは次のとおりです。
| String |
minimum_area (オプション) | 各領域に許可する最小面積を定義します。 area_units で指定された単位が使用されます。 最小面積と最大面積が定義されたときの領域の作成方法に関する詳細については、「最小面積と最大面積が定義されたときの領域の決定方法」をご参照ください。 | Double |
maximum_area (オプション) | 各領域に許可する最大面積を定義します。 area_units で指定された単位が使用されます。 最小面積と最大面積が定義されたときの領域の作成方法に関する詳細については、「最小面積と最大面積が定義されたときの領域の決定方法」をご参照ください。 | Double |
minimum_distance (オプション) | 領域間に許可する最小距離を定義します。2 つの領域を、この距離より近くに配置することはできません。 このパラメーターは、パラメーター化された領域拡張 (PRG) アルゴリズムに影響します。あるセルが候補領域に追加される可能性があるが、in_existing_regions で指定されたデータセット内の任意の領域からこの距離内にある場合、このセルは候補領域として考慮されません。最小距離設定は、除外された場所 (NoData のセル) には適用されません。 distance_units で指定された単位が使用されます。 | Double |
maximum_distance (オプション) | 領域間に許可する最大距離を定義します。領域を、少なくとも 1 つの他の領域から、この距離より遠くには配置できません。 領域を順番に選択しているときに、次の最適な領域が、すでに選択された領域からこの距離より遠い場合、その領域はこの時点で考慮されません。ただし、他の領域が選択されることで、後で選択される可能性はあります。 最大距離は in_existing_regions に適用されます。つまり、選択された領域の少なくとも 1 つは、既存の領域から最大距離内にある必要があります。最大距離設定は、除外されたエリア (NoData のセル) には適用されず、PRG アルゴリズムに影響しません。 distance_units で指定された単位が使用されます。 | Double |
distance_units (オプション) | minimum_distance と maximum_distance の各パラメーターに使用される距離単位を定義します。 利用可能なオプションとそれに対応する単位は次のとおりです。
デフォルトは、入力ラスター データセットに基づきます。入力ラスターの単位がフィート、ヤード、マイル、その他のインペリアル単位の場合、Miles が使用されます。入力ラスターの単位がメートル、キロメートル、その他のメトリック単位の場合、Kilometers が使用されます。 | String |
in_existing_regions (オプション) | 領域がすでに存在する場所を識別するデータセット。 入力には、ラスターまたはフィーチャ データセットを使用できます。入力がラスターの場合、ラスター内で有効な値を持つ場所はすでに割り当てられていると見なされます。その他すべての場所は、NoData に設定されます。 パラメーター化された領域拡張アルゴリズムでは、既存の領域を含む場所からは領域は拡張しません。既存の領域は、minimum_distance と maximum_distance の拡張と評価に使用されます (上記の対応するパラメーターの説明を参照)。 | Raster Layer; Feature Layer |
number_of_neighbors (オプション) | 領域の拡張時に使用する隣接セルを定義します。 利用可能なオプションは次のとおりです。
| String |
no_islands (オプション) | 潜在的な領域内で島を許可するかどうかを定義します。
| Boolean |
region_seeds (オプション) | 領域の拡張元になるシードの数を定義します。 領域拡張アルゴリズムに対するシードの影響の詳細については、「シードの分散方法」をご参照ください。 利用可能なオプションは次のとおりです。
| String |
region_resolution (オプション) | 領域の拡張が発生する解像度を設定します。 入力ラスターは、このパラメーターで識別されたセル数で決定される解像度にリサンプリングされます (以下を参照)。たとえば、Low の場合、入力ラスターは 147,356 セルにリサンプリングされます。パラメーター化された領域拡張アルゴリズムは、リサンプリングされた中間ラスターで拡張します。リサンプリングされた中間ラスターから領域が選択されると、選択された領域がセル サイズにリサンプリングされます。 必要な平均領域サイズのセル数が少なすぎる場合や多すぎる場合は、以下で識別されるターゲットの解像度への調整が実行される可能性があります。この調整により、必要な各領域内に十分な数のセルが確実に存在するか、不必要な処理が行われなくなります。その結果、指定された以下の各解像度にリサンプリングされた中間ラスターの合計セル数が、ターゲットのセル数より少ない/多い可能性があります。この調整と使用される閾値の詳細については、「必要な領域のサイズに基づく領域拡張の解像度の調整」をご参照ください。 入力のセルが 147,356 未満の場合や、Maximum が選択された場合、リサンプリングは実行されず、領域の拡張は入力ラスター内のすべてのセルに対して実行されます。入力のセルが 147,356 未満の場合、Low、Medium、High オプションは影響ありません。 利用可能なオプションは次のとおりです。
| String |
selection_method (オプション) | 領域の選択方法を識別します。 利用可能なオプションは次のとおりです。
| String |
戻り値
名前 | 説明 | データ タイプ |
out_raster | 出力領域ラスター。 各領域には、ゼロより大きい一意の番号が付けられます。領域に属さないセルには、ゼロが割り当てられます。出力は常に整数ラスターになります。 選択された領域の統計情報を格納する追加フィールドが、各領域に対して計算されます。これらのフィールドには次のようなものがあります。
| Raster |
コードのサンプル
次の Python ウィンドウ スクリプトは、LocateRegionsツールの使用方法を示しています。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outRegions = LocateRegions("suitsurface", 13.5, "SQUARE_MILES", 5, "CIRCLE",
0, 50, "HIGHEST_AVERAGE_VALUE", 2, 5, 1, 3, "MILES",
"existingreg.shp", "EIGHT", "NO_ISLANDS", "SMALL",
"LOW", "COMBINATORIAL")
outRegions.save("C:/sapyexamples/output/outregions")
空間的要件を満たしながら、適合性サーフェスから最適な 8 つの領域を識別します。
# Name: LocateRegions_Ex_02.py
# Description: Selects the best specified number of regions
# 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
InRaster1 = "suitsurface"
InTotalArea2 = 13.5
InAreaUnits3 = "SQUARE_MILES"
InNumberofRegions4 = 5
InRegionShape5 = "CIRCLE"
InRegionOrientation6 = 0
InShapeTradeoff7 = 50
InEvaluationMethod8 = "HIGHEST_AVERAGE_VALUE"
InMinimumArea9 = 2
InMaximumArea10 = 5
InMinimumDistance11 = 1
InMaximumDistance12 = 3
InDistanceUnits13 = "MILES"
InExistingRegions14 = "existingreg.shp"
InRegionofNeighbors15 = "EIGHT"
InRegionNoIslands16 = "NO_ISLANDS"
InRegionSeeds17 = "SMALL"
InRegionResolution18 = "LOW"
InCombinatorialThreshold19 = "COMBINATORIAL"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Locate Regions
outRegions = LocateRegions(InRaster1, InTotalArea2, InAreaUnits3, InNumberofRegions4,
InRegionShape5, InRegionOrientation6, InShapeTradeoff7,
InEvaluationMethod8, InMinimumArea9, InMaximumArea10,
InMinimumDistance11, InMaximumDistance12, InDistanceUnits13,
InExistingRegions14, InRegionofNeighbors15, InRegionNoIslands16,
InRegionSeeds17, InRegionResolution18, InCombinatorialThreshold19)
# Save the output
outRegions.save("C:/sapyexamples/output/outregions")
環境
ライセンス情報
- Basic: 次のものが必要 Spatial Analyst
- Standard: 次のものが必要 Spatial Analyst
- Advanced: 次のものが必要 Spatial Analyst