Spatial Analyst のライセンスで利用可能。
概要
最も近いソースまでのユークリッド距離をセルごとに計算します。
図
使用法
入力ソース データは、フィーチャクラスまたはラスターです。
入力ソース データがラスターの場合、一連のソース セルは、ソース ラスター内にある有効な値を持つすべてのセルから構成されます。値が NoData のセルは、ソース セットには含まれません。値 0 (ゼロ) は、正当なソースと見なされます。ソース ラスターは、[抽出] ツールを使用して作成できます。
入力ソース データがフィーチャクラスの場合、解析を実行する前に内部でソースの位置がラスターに変換されます。
入力のソース データにフィーチャ データを使用する場合は、出力セル サイズが入力の詳細よりも粗いときの処理方法に注意する必要があります。内部的なラスター化処理では、[フィーチャ → ラスター (Feature to Raster)] ツールと同じデフォルトの [集約タイプ] (セルの中心メソッド) が使用されます。つまり、セルの中心に配置されていないデータはラスター化されたソースの中間出力に含まれず、距離の計算では表されません。たとえば、ソースが出力のセル サイズに比べて小さい一連のポリゴン (建物のフットプリントなど) である場合は、一部のポリゴンだけが出力ラスター セルの中心に分類され、ほとんどのポリゴンが解析で失われたように見える可能性があります。
この状況を回避するには、中間的な手順として、[フィーチャ → ラスター (Feature to Raster)] ツールを使用して入力フィーチャを直接ラスター化し、[フィールド] パラメーターを設定します。次に、結果の出力を [距離 (Distance)] ツールの入力として使用します。または、入力フィーチャから適切な量の情報を捕捉できる、小さいセル サイズを選択することもできます。
[最大距離] は入力ソース データと同じマップ単位で指定します。
[出力セル サイズ] は、数値で定義するか、既存のラスター データセットから取得できます。セル サイズがパラメーター値として明示的に指定されていない場合、[セル サイズ] 環境が指定されていれば、そこから取得されます。パラメーターのセル サイズも環境のセル サイズも指定されていない場合、デフォルトの出力セル サイズは、次のように入力データセットのタイプに基づいて決定されます。
- 入力データセットがラスターの場合は、そのデータセットのセル サイズが使用されます。
- 入力データセットがフィーチャで、[スナップ対象ラスター] 環境が設定されている場合は、スナップ ラスターのセル サイズが使用されます。スナップ ラスターが設定されていない場合、セル サイズは範囲の幅または高さ (どちらか短い方) を 250 で割って求められます。この範囲は環境で指定された [出力座標系] にあります。
セル サイズが数値によって指定されている場合、このツールは出力ラスターに対してこの値を直接使用します。
セル サイズがラスター データセットを使用して指定されている場合、パラメーターはセル サイズの値ではなくラスター データセットのパスを示します。データセットの空間参照が出力空間参照と同じである場合、解析ではラスター データセットのセル サイズが直接使用されます。データセットの空間参照が出力空間参照と異なる場合は、選択された [セル サイズ投影法] に基づいて投影されます。
ソース データには浮動小数点情報を持てないため、出力としてアロケーションは使用できません。アロケーションの出力が望ましい場合は、[ユークリッド アロケーション (Euclidean Allocation)] ツールを使用します。このツールは 3 つの出力 (アロケーション、距離、方向) をすべて同時に生成できます。
このツールのデフォルトの処理範囲は、[入力データのすべての領域] です。両方の入力データセットの結合された範囲が処理されます。
このツールは、並列処理をサポートしています。お使いのコンピューターに、複数のプロセッサや、複数のコアを持つプロセッサが搭載されている場合は、特に対象となるデータセットが大きいときにパフォーマンスが向上します。「Spatial Analyst による並列処理」ヘルプ トピックには、この機能と設定方法の詳細が記載されています。
並列処理を使用する場合、処理中のデータ チャンクを処理するために一時データが書き込まれます。デフォルトの一時フォルダーの場所は、ローカルの C: ドライブにあります。このフォルダーの場所は、TempFolders という名前のシステム環境変数を設定し、使用するフォルダーへのパスを指定することで変更できます (例: E:\RasterCache)。コンピューター上で管理権限を持っている場合は、レジストリ キー (例: [HKEY_CURRENT_USER\SOFTWARE\ESRI\Desktop10.7\Raster]) を使用することもできます。
デフォルトでは、このツールは使用可能なコアの 50% を使うようになっています。入力データのサイズが 5,000 セル x 5,000 セルよりも小さい場合、使用されるコア数はそれよりも少なくなります。並列処理ファクター環境で、ツールが使用するコアの数を制御できます。
このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。
構文
EucDistance(in_source_data, {maximum_distance}, {cell_size}, {out_direction_raster}, {distance_method}, {in_barrier_data}, {out_back_direction_raster})
パラメーター | 説明 | データ タイプ |
in_source_data | 入力ソース位置。 これは、あらゆる出力セル位置についてユークリッド距離の計算対象となるセルまたは位置を特定するラスター データセットまたはフィーチャ データセットです。 ラスターの場合、入力タイプは整数または浮動小数点数です。 | Raster Layer; Feature Layer |
maximum_distance (オプション) | 累積距離値が超えることのできない閾値。 累積ユークリッド距離がこの値を超える場合、セル位置の出力値は NoData になります。 デフォルトは出力ラスターのエッジまでです。 | Double |
cell_size (オプション) | 作成される出力ラスターのセル サイズ。 このパラメーターは、数値で定義するか、既存のラスター データセットから取得できます。セル サイズがパラメーター値として明示的に指定されていない場合、指定されていれば、環境のセル サイズ値が使用されます。そうでない場合は、追加のルールを使用して別の入力から計算されます。詳細については、使用方法をご参照ください。 | Analysis Cell Size |
out_direction_raster (オプション) | 出力ユークリッド方向ラスター。 方向ラスターは、各セルの中心から、最も近いソース セルの中心までを角度で計算した方向を含みます。 値の範囲は 0 度から 360 度で、0 はソース セル用に予約されています。真東 (右) は 90 で、値は時計回りに増加します (180 が北、270 が西、360 が北)。 出力ラスターのタイプは整数です。 | Raster Dataset |
distance_method (オプション) | 距離を平面 (平面地球) と測地線 (楕円体) のどちらの方法を用いて計算するかを指定します。
| String |
in_barrier_data (オプション) | バリアを定義するデータセット。 バリアは、整数または浮動小数点のラスターまたはフィーチャ レイヤーによって定義できます。 | Raster Layer; Feature Layer |
out_back_direction_raster (オプション) | 出力ユークリッド逆方向ラスター。 逆方向ラスターは、角度で計算した方向を含みます。バリアを避けながら、最寄りのソースに戻る最短パスに沿った隣接セルへの方向を度単位で特定します。 値の範囲は 0 度から 360 度で、0 はソース セル用に予約されています。真東 (右) は 90 で、値は時計回りに増加します (180 が北、270 が西、360 が北)。 出力ラスターのタイプは float です。 | Raster Dataset |
戻り値
名前 | 説明 | データ タイプ |
out_distance_raster | 出力ユークリッド距離ラスター。 距離ラスターは、各セルについて、最も近いソース セル、ソース セル セット、またはソース位置までのユークリッド距離を特定します。 出力ラスターのタイプは浮動小数点数です。 | Raster |
コードのサンプル
EucDistance (ユークリッド距離) の例 1 (Python ウィンドウ)
次の Python ウィンドウ スクリプトで、EuclideanDistance (ユークリッド距離) ツールの使用方法を示します。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outEucDistance = EucDistance("rec_sites.shp", 5000, 5,
"c:/sapyexamples/output/EucDirOut")
outEucDistance.save("C:/sapyexamples/output/eucdist")
EucDistance (ユークリッド距離) の例 2 (スタンドアロン スクリプト)
最も近いソースへの距離をセルごとに計算します。
# Name: EucDistance_Ex_02.py
# Description: Calculates for each cell the Euclidean distance to the nearest source.
# 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 = "rec_sites.shp"
maxDistance = 4000
cellSize = 4
outDirectionRaster = "C:/sapyexamples/output/eucdirect"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute EucDistance
outEucDistance = EucDistance(inSourceData, maxDistance, cellSize, outDirectionRaster)
# Save the output
outEucDistance.save("C:/sapyexamples/output/eucdist")
環境
ライセンス情報
- Basic: 次のものが必要 Spatial Analyst
- Standard: 次のものが必要 Spatial Analyst
- Advanced: 次のものが必要 Spatial Analyst