マルチスケール サーフェス偏差 (Multiscale Surface Deviation) (Spatial Analyst)

サマリー

空間縮尺の範囲全体における平均値からの最大偏差を計算します。

マルチスケール サーフェス偏差 (Multiscale Surface Deviation) の仕組みの詳細

使用法

  • 複数のスケールにおける平均値からの最大偏差が計算されます。 これらのスケールは、計算に使用される近傍距離値です (ターゲット セルの中心からの距離で、ターゲット セルの周囲にセルの正方形を作成します)。 たとえば、2 つのセルのスケールは、5 x 5 の近傍です。

  • 各スケールについて、最初に平均値が求められます。 次に、中央のセルの値とそのスケールの平均値との偏差が求められます。 これらの偏差がさまざまなスケール間で比較されます。

  • [入力サーフェス ラスター] (Python では in_raster) パラメーター値は、任意のタイプのサーフェス ラスターを使用できます。

  • [出力偏差ラスター] (Python では out_deviation_raster) パラメーターはプライマリ出力です。 これは、空間スケールの範囲全体における平均値からの最大偏差を含むラスターです。

  • [出力スケール ラスター] (Python では out_scale_raster) パラメーターは、プライマリ出力に関する追加情報を提供します。 これには、各セルで平均値からの最大偏差が求められたスケールが含まれます。

  • [距離単位] (Python では distance_units) パラメーターのヤード・ポンド単位のオプションは国際版の単位です。 US Survey のヤード・ポンド単位は現在のところサポートされていません。 [入力サーフェス ラスター] 入力の空間参照のマップ単位が US Survey の場合、このパラメーターではデフォルト値として [セル] が使用されます。

  • [最小近傍距離] (Python では min_scale) および [最大近傍距離] (Python では max_scale) パラメーターは、差分が計算される最小および最大の近傍サイズ、つまりスケールを定義します。 これらの値は、ターゲット セルからの最小距離と最大距離を表します。 たとえば、値が 1 の場合、3 x 3 セルの近傍が作成され、値が 2 の場合、5 x 5 セルの近傍が作成されます。

    これらの値は、入力ラスターのセル サイズまたは 1 セルよりも小さくすることはできません。

    [最小近傍距離] パラメーター値は、[最大近傍距離] パラメーター値以下でなくてはなりません。

  • [基本距離の増分] (Python では base_increment) パラメーターは、スケール間の近傍距離の増分です。 この増分は、[非線形ファクター] (Python では nonlinearity) パラメーターに 1 より大きい値を使用すると変更されます。

    このパラメーター値は、入力ラスターのセル サイズまたは 1 セルよりも小さくすることはできません。 デフォルト値は、入力ラスターのセル サイズです。

  • [非線形ファクター] パラメーターは、近傍距離の増分、つまり縮尺を制御します。 値が 1.0 の場合、スケールの線形増分が作成され、スケール間の増分が同じになります ([基本距離増分] パラメーターの値)。 この値を大きくすると、スケールが速く増加し、指定された最小スケールと最大スケールのスケール数が減ります。

    小スケールを高いスケール サンプリング密度、大スケールを低いスケール サンプリング密度にする場合、このパラメーターに 1.0 より大きい値を使用します。

    このパラメーターは 1.0 以上の値を受け入れます。 一般に、近傍距離で非線形増分を使用する場合、このパラメーターには 1.0 ~ 2.0 の値が最もよく使用されます。

    マルチスケール サーフェス偏差 (Multiscale Surface Deviation) の仕組みの詳細

  • [入力サーフェス ラスター] 値の NoData セルは無視され、それらのセルに対しては [出力偏差ラスター][出力スケール ラスター] パラメーター値に NoData が割り当てられます。

  • このツールは GPU により処理を加速化できます。つまり、システムで互換性のあるグラフィックス処理装置 (GPU) を使用可能な場合は、それを使用してツールのパフォーマンスを強化できます。 このツールの実行に GPU と CPU のどちらを使用するかを制御するには、[解析のターゲット デバイス] (Python では analysis_target_device) パラメーターを使用します。

    互換性のある GPU、GPU デバイスの構成と動作に関する詳細や、問題が発生した場合のトラブルシューティングのヒントについては、「Spatial Analyst での GPU 処理」をご参照ください。

  • このツールは、並列処理をサポートしています。 お使いのコンピューターに、複数のプロセッサや、複数のコアを持つプロセッサが搭載されている場合は、特に対象となるデータセットが大きいときにパフォーマンスが向上します。 「Spatial Analyst による並列処理」ヘルプ トピックには、この機能と設定方法の詳細が記載されています。

    デフォルトでは、このツールは使用可能なコアの 50% を使用します。 並列処理ファクター環境で、ツールが使用するコアの数を制御できます。

  • 出力ラスターの形式が .crf の場合、このツールはピラミッド ラスター格納環境をサポートします。 デフォルトでは、ピラミッドは出力で作成されます。 その他の出力形式ではこの環境はサポートされず、ピラミッドは作成されません。

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

パラメーター

ラベル説明データ タイプ
入力サーフェス ラスター

入力サーフェス ラスター。

Raster Layer
出力スケール ラスター
(オプション)

各セルで最大偏差が求められたスケールを含む出力ラスター。 スケールは、近傍距離値として表されます。

浮動小数点タイプになります。

Raster Dataset
距離単位
(オプション)

[最小近傍距離][最大近傍距離][基本距離の増分] の各パラメーターに使用される距離単位を指定します。

距離は、セルの数または指定した単位で計測されます。 デフォルトは、[入力サーフェス ラスター] 値の空間参照のマップ単位です。

  • セル距離の単位はセルです。
  • メートル距離の単位はメートルです。
  • センチメートル距離の単位はセンチメートルです。
  • キロメートル距離の単位はキロメートルです。
  • インチ距離単位は国際インチになります。
  • フィート距離単位は国際フィートになります。
  • ヤード距離単位は国際ヤードになります。
  • マイル距離単位は国際マイルになります。
String
最小近傍距離
(オプション)

標高差が計算される最小の近傍縮尺を定義する距離。 これは、ターゲット セルの中心からの距離で、ターゲット セルの周囲にセルの正方形を作成します。

この値は [最大近傍距離] パラメーター値以下、入力ラスター セル サイズまたは 1 セル以上である必要があります。

デフォルト値は [入力サーフェス ラスター] パラメーター値のセル サイズの 4 倍で、9 x 9 セル近傍になります。

Double
最大近傍距離
(オプション)

標高差が計算される最大の近傍スケールを定義する距離。 これは、ターゲット セルの中心からの距離で、ターゲット セルの周囲にセルの正方形を作成します。

この値は [最小近傍距離] パラメーター値と、入力ラスター セル サイズまたは 1 セル以上である必要があります。

デフォルト値は [入力サーフェス ラスター] パラメーター値のセル サイズの 13 倍で、27 x 27 セル近傍になります。

Double
基本距離の増分
(オプション)

スケール間の近傍距離の増分。

このパラメーター値は、[入力サーフェス ラスター] のセル サイズまたは 1 セルよりも小さくすることはできません。

デフォルト値は、[入力サーフェス ラスター] パラメーター値のセル サイズです。

Double
非線形ファクター
(オプション)

スケールの拡大において非線形な増分を実現するファクター。 これにより、スケール間の増分が一定でなくなります。 通常、1.0 ~ 2.0 の間の値が使用されます。

このパラメーターは 1 以上でなくてはなりません。

デフォルト値は 1 で、近傍距離が線形に増加します (スケール間の増分が一定です)。

Double
解析のターゲット デバイス
(オプション)

計算の実行に使用するデバイスを指定します。

  • GPU の後で CPU互換性のある GPU が検出された場合、その GPU を使用して計算が実行されます。 検出されなかった場合は、CPU が使用されます。 これがデフォルトです。
  • CPU のみ計算は CPU でのみ実行されます。
  • GPU のみ計算は GPU でのみ実行されます。
String

戻り値

ラベル説明データ タイプ
出力偏差ラスター

各セルの平均値からの最大偏差を含む出力ラスター。

浮動小数点タイプになります。

Raster

MultiscaleSurfaceDeviation(in_raster, {out_scale_raster}, {distance_units}, {min_scale}, {max_scale}, {base_increment}, {nonlinearity}, {analysis_target_device})
名前説明データ タイプ
in_raster

入力サーフェス ラスター。

Raster Layer
out_scale_raster
(オプション)

各セルで最大偏差が求められたスケールを含む出力ラスター。 スケールは、近傍距離値として表されます。

浮動小数点タイプになります。

Raster Dataset
distance_units
(オプション)

min_scalemax_scale、base_increment の各パラメーターに使用される距離単位を指定します。

距離は、セルの数または指定した単位で計測されます。 デフォルトは、in_raster 値の空間参照のマップ単位です。

  • CELLS距離の単位はセルです。
  • METERS距離の単位はメートルです。
  • CENTIMETERS距離の単位はセンチメートルです。
  • KILOMETERS距離の単位はキロメートルです。
  • INCHES距離単位は国際インチになります。
  • FEET距離単位は国際フィートになります。
  • YARDS距離単位は国際ヤードになります。
  • MILES距離単位は国際マイルになります。
String
min_scale
(オプション)

標高差が計算される最小の近傍縮尺を定義する距離。 これは、ターゲット セルの中心からの距離で、ターゲット セルの周囲にセルの正方形を作成します。

この値は max_scale パラメーター値以下、入力ラスター セル サイズまたは 1 セル以上である必要があります。

デフォルト値は in_raster パラメーター値のセル サイズの 4 倍で、9 x 9 セル近傍になります。

Double
max_scale
(オプション)

標高差が計算される最大の近傍スケールを定義する距離。 これは、ターゲット セルの中心からの距離で、ターゲット セルの周囲にセルの正方形を作成します。

この値は min_scale パラメーター値と、入力ラスター セル サイズまたは 1 セル以上である必要があります。

デフォルト値は in_raster パラメーター値のセル サイズの 13 倍で、27 x 27 セル近傍になります。

Double
base_increment
(オプション)

スケール間の近傍距離の増分。

このパラメーター値は、in_raster のセル サイズまたは 1 セルよりも小さくすることはできません。

デフォルト値は、in_raster パラメーター値のセル サイズです。

Double
nonlinearity
(オプション)

スケールの拡大において非線形な増分を実現するファクター。 これにより、スケール間の増分が一定でなくなります。 通常、1.0 ~ 2.0 の間の値が使用されます。

このパラメーターは 1 以上でなくてはなりません。

デフォルト値は 1 で、近傍距離が線形に増加します (スケール間の増分が一定です)。

Double
analysis_target_device
(オプション)

計算の実行に使用するデバイスを指定します。

  • GPU_THEN_CPU互換性のある GPU が検出された場合、その GPU を使用して計算が実行されます。 検出されなかった場合は、CPU が使用されます。 これがデフォルトです。
  • CPU_ONLY計算は CPU でのみ実行されます。
  • GPU_ONLY計算は GPU でのみ実行されます。
String

戻り値

名前説明データ タイプ
out_deviation_raster

各セルの平均値からの最大偏差を含む出力ラスター。

浮動小数点タイプになります。

Raster

コードのサンプル

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

次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。

この例では、すべてのオプション パラメーターにデフォルト値を使用して、入力サーフェス ラスターから偏差出力ラスターを生成します。

from arcpy.sa import *
outDeviations = MultiscaleSurfaceDeviation("elevation.tif", "", "", "", "", "", "", "")
outDeviations.save("C:/sapyexamples/output/outdeviations01.tif")
MultiscaleSurfaceDeviation の例 2 (スタンドアロン スクリプト)

次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。

この例では、各スケール間の増分を 10 キロメートルとして、1 キロメートルから 200 キロメートルまでのスケールの偏差ラスターを生成します。

# Name: MultiscaleSurfaceDeviation_standalone.py
# Description: Calculates the maximum deviation over a range of spatial scales.
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy.sa import *

# Set environment settings
arcpy.env.workspace = "C:/sapyexamples/data"

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

# Set local variables
inRaster = "elevation.tif"
inDistanceUnits = "KILOMETERS"
inMinScale = 1
inMaxScale = 200
inIncrement = 10
inNonlinearity = 1

# Execute the tool
outDeviations = MultiscaleSurfaceDeviation(inRaster, "", inDistanceUnits, inMinScale,
                                             inMaxScale, inIncrement, inNonlinearity, "")

# Save the output 
outDeviations.save("C:/sapyexamples/output/outdeviations02.tif")

関連トピック