3D Analyst のライセンスで利用可能。
サマリー
2 つのサーフェスの容量の変化を計算します。通常は、切り盛り操作に使用します。
図
使用法
[切り盛り (Cut Fill)] ツールを使用すると、2 つの入力サーフェス (前と後) に基づいて、サーフェス材料の削除または追加により変更された面積と体積を表すマップを作成できます。
両方の入力ラスター サーフェスは一致する必要があります。すなわち、原点が共通で、セルの行数と列数が同じで、セル サイズが同じである必要があります。
正確な結果を得るには、Z 単位を X、Y 地表単位と同じにする必要があります。これにより、結果として得られる体積が、意味のある体積量 (立方メートルなど) になります。もし等しくない場合には、Z 係数を使用して Z 単位を X、Y の単位に変換しなければなりません。たとえば、X と Y の単位がメートルであり、Z 単位がフィートの場合、Z 係数 0.3048 を使用して Z 単位をフィートからメートルへ変換します。
別の方法として、[Times] 算術演算ツールを使用して、Z 値が地表単位に相当するように調整されたサーフェス ラスターを作成することもできます。
出力ラスターの属性テーブルは、切り盛り操作後のサーフェス体積の変化を示します。体積の差が正の値である場合は、前のラスター サーフェスの一部が切り取られた (材料が取り除かれた) ことを示します。負の値は、盛られた (材料が追加された) ことを示します。結果の計算方法の詳細については、「切り盛り (Cut Fill) の仕組み」をご参照ください。
このツールで切り盛り操作を実行すると、デフォルトで、切り盛りされた位置をハイライト表示する特殊なレンダラーが適用されます。レンダラーは、切り取られたエリアを青色で、盛られたエリアを赤色で描画します。変化していないエリアは灰色で表示されます。
入力ラスターをリサンプリングする必要がある場合は、共一次内挿法を使用します。入力ラスをリサンプリングする例としては、出力座標系、範囲、またはセル サイズが入力と異なる場合があります。
構文
CutFill_3d (in_before_surface, in_after_surface, out_raster, {z_factor})
パラメーター | 説明 | データ タイプ |
in_before_surface | 切り盛り操作前のサーフェスを表す入力です。 | Raster Layer |
in_after_surface | 切り盛り操作後のサーフェスを表す入力です。 | Raster Layer |
out_raster | 切り盛りの範囲を定義する出力ラスター。 値は、サーフェスを追加または除外する位置と量を示します。 | Raster Dataset |
z_factor (オプション) | サーフェス Z 単位あたりの地表 X,Y 単位の数。 z 単位の測定基準が入力サーフェスの xy 単位と異なる場合、z 係数を使用して z 測定単位を調整します。最終的な出力サーフェスを計算する際、入力サーフェスの Z 値に Z 係数が乗算されます。 X,Y 単位と Z 単位の測定基準が同じ場合、Z 係数は 1 これがデフォルトです。 X,Y 単位と Z 単位の測定基準が異なる場合は、Z 係数に適切な値を設定する必要があります。Z 係数が適切でないと、正しい結果が得られません。たとえば、Z 単位がフィートであり、X,Y 単位がメートルの場合、Z 係数 0.3048 を使用して Z 単位をフィートからメートルへ変換します (1 フィート = 0.3048 メートル)。 | Double |
コードのサンプル
CutFill (切り盛り) の例 1 (Python ウィンドウ)
この例では、切り盛り位置の体積と面積を計算し、結果を GRID ラスターとして出力します。
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.CutFill_3d("elevation01", "elevation02", "c:/output/outcutfill01", 1)
CutFill (切り盛り) の例 2 (スタンドアロン スクリプト)
この例では、切り盛り位置の体積と面積を計算し、結果を GRID ラスターとして出力します。
# Name: Cutfill_3d_Ex_02.py
# Description: Calculates the volume and area of cut and
# fill locations.
# Requirements: 3D Analyst Extension
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inBeforeRaster = "elevation01"
inAfterRaster = "elevation02"
outRaster = "C:/output/outcutfill02"
zFactor = 0.5
# Check out the ArcGIS 3D Analyst extension license
arcpy.CheckOutExtension("3D")
# Execute CutFill
arcpy.CutFill_3d(inBeforeRaster, inAfterRaster, outRaster, zFactor)
環境
ライセンス情報
- ArcGIS Desktop Basic: 次のものが必要 3D Analyst または Spatial Analyst
- ArcGIS Desktop Standard: 次のものが必要 3D Analyst または Spatial Analyst
- ArcGIS Desktop Advanced: 次のものが必要 3D Analyst または Spatial Analyst