切り盛り体積の計算 (Calculate Cut Fill Volume) (Image Analyst)

Image Analyst ライセンスで利用できます。

サマリー

ベース標高サーフェスと標高ラスターとの間の切り盛り体積を計算します。 切り盛りラスターを生成することもできます。 ベース標高サーフェスは、1 つ以上のポリゴンを含むフィーチャクラス、ポリゴン配列、JSON 文字列またはファイル、あるいはラスターなど、さまざまなタイプで指定できます。

使用法

  • [出力切り盛りラスター] パラメーターの値は、資材が除去されたエリア (切り土) と、資材が追加されたエリア (盛り土) を示すエリアで構成されるラスター データセットです。 出力切り盛りラスター データセットをクリックすると、[画像情報] ウィンドウに切り盛り情報が表示されます。

  • [出力切り盛りラスター] パラメーターの値では、切り土エリアの体積値は正の値となり、盛り土エリアの体積値は負の値となります。 たとえば、ピクセル値が -0.000305 の場合は、立方メートル単位の盛り土を意味します。

  • 入力の [ベース サーフェス] パラメーターの値がポリゴンの場合、有効な [ベース サーフェス タイプ] パラメーターのオプションは、[サーフェス][最小][最大][平均][定数 Z]、および [ジオメトリー Z] です。

  • [出力体積情報] パラメーターの値には、切り盛り体積情報が .txt ファイルまたは .json ファイルに含まれます。 サンプル出力を以下に示します。

    
    [
      {
        "area" : 19009.705386691581,
        "cut" : 19216.883079243154,
        "fill" : -31352.230228323864,
        "cutCellCount" : 668750,
        "fillCellCount" : 936135,
        "minz" : 24.048617219013618,
        "maxz" : 239.59296198262672,
        "meanz" : 127.5100044561793
      }
    ]

    ファイル内の情報は次のように構成されます。

    • area - 平方メートル単位の面積
    • cut - 立方メートル単位の切り土量
    • fill - 立方メートル単位の盛り土量
    • cutCellCount - 切り土セルの数
    • fillCellCount - 盛り土セルの数
    • minz - メートル単位の最低標高値
    • maxz - メートル単位の最高標高値
    • meanz - メートル単位の平均標高値

パラメーター

ラベル説明データ タイプ
入力 DSM

入力デジタル サーフェス モデル (DSM) 標高ラスター。 この入力 DSM ラスターは、ベース標高ラスターと比較されます。

Raster Dataset; Mosaic Dataset; Mosaic Layer; Raster Layer; Image Service
ベース サーフェス

切り盛り体積を計算するために使用されるベース標高サーフェス。 ベース標高サーフェスは、1 つ以上のポリゴンを含むフィーチャクラス、ポリゴン配列、JSON 文字列またはファイル、あるいはラスターなど、さまざまなタイプをサポートします。

Raster Dataset; Mosaic Dataset; Mosaic Layer; Raster Layer; Image Service; Feature Class; Feature Layer; String; File
ベース サーフェス タイプ

ベース サーフェスとして使用されるベース サーフェス タイプを指定します。

  • サーフェス入力 DSM のポリゴン頂点の位置における高さの値を使用してベース サーフェスを構築します。
  • 最小入力 DSM のベース サーフェス ポリゴンの周長における最小高の値をベース サーフェスとして使用します。
  • 最大入力 DSM のベース サーフェス ポリゴンの周長における最大高の値をベース サーフェスとして使用します。
  • 平均入力 DSM のベース サーフェス ポリゴンの周長における平均の高さの値をベース サーフェスとして使用します。
  • 定数 Z定数 Z 値をベース サーフェスとして使用します。
  • ジオメトリー Z3D ジオメトリーの頂点の Z 値を使用してベース サーフェスを構築します。 このオプションを標高を持たないフィーチャクラスで使用する場合、[入力 DSM] パラメーターの値から高さの値が使用されます。
  • DSMDSM がベース サーフェスとして使用されます。
String
定数 Z
(オプション)

体積の計算を実行するための標高の平面を定義する際に使用される値。

このパラメーターは、[ベース サーフェス タイプ] パラメーターが [定数 Z] に設定されている場合にアクティブになります。

Linear Unit
出力体積情報
(オプション)

切り盛り体積情報を含む出力ファイル。 このファイルには、.txt ファイルまたは .json ファイルを使用できます。 結果は、面積計算では平方メートル、体積計算では立方メートルで表されます。

File
出力切り盛りラスター
(オプション)

出力切り盛り体積ラスター。 ラスター データセットのさまざまな形式を示すためにファイル拡張子を指定します。 このパラメーターは、.tif.crf.img、GRID、ファイル ジオデータベース ラスターなど、一般的に使用されるラスター タイプをサポートします。

Raster Dataset

CalculateCutFillVolume(in_raster, in_base_surface, base_surface_type, {constant_z}, {out_volume_info}, {out_cut_fill_raster})
名前説明データ タイプ
in_raster

入力デジタル サーフェス モデル (DSM) 標高ラスター。 この入力 DSM ラスターは、ベース標高ラスターと比較されます。

Raster Dataset; Mosaic Dataset; Mosaic Layer; Raster Layer; Image Service
in_base_surface

切り盛り体積を計算するために使用されるベース標高サーフェス。 ベース標高サーフェスは、1 つ以上のポリゴンを含むフィーチャクラス、ポリゴン配列、JSON 文字列またはファイル、あるいはラスターなど、さまざまなタイプをサポートします。

Raster Dataset; Mosaic Dataset; Mosaic Layer; Raster Layer; Image Service; Feature Class; Feature Layer; String; File
base_surface_type

ベース サーフェスとして使用されるベース サーフェス タイプを指定します。

  • SURFACE入力 DSM のポリゴン頂点の位置における高さの値を使用してベース サーフェスを構築します。
  • MINIMUM入力 DSM のベース サーフェス ポリゴンの周長における最小高の値をベース サーフェスとして使用します。
  • MAXIMUM入力 DSM のベース サーフェス ポリゴンの周長における最大高の値をベース サーフェスとして使用します。
  • MEAN入力 DSM のベース サーフェス ポリゴンの周長における平均の高さの値をベース サーフェスとして使用します。
  • CONSTANTZ定数 Z 値をベース サーフェスとして使用します。
  • GEOMETRYZ3D ジオメトリーの頂点の Z 値を使用してベース サーフェスを構築します。 このオプションを標高を持たないフィーチャクラスで使用する場合、in_raster パラメーターの値から高さの値が使用されます。
  • DSMDSM がベース サーフェスとして使用されます。
String
constant_z
(オプション)

体積の計算を実行するための標高の平面を定義する際に使用される値。

このパラメーターは、base_surface_type パラメーターが CONSTANTZ に設定されている場合にアクティブになります。

Linear Unit
out_volume_info
(オプション)

切り盛り体積情報を含む出力ファイル。 このファイルには、.txt ファイルまたは .json ファイルを使用できます。 結果は、面積計算では平方メートル、体積計算では立方メートルで表されます。

File
out_cut_fill_raster
(オプション)

出力切り盛り体積ラスター。 ラスター データセットのさまざまな形式を示すためにファイル拡張子を指定します。 このパラメーターは、.tif.crf.img、GRID、ファイル ジオデータベース ラスターなど、一般的に使用されるラスター タイプをサポートします。

Raster Dataset

コードのサンプル

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

この例では、ポリゴン配列の JSON 文字列をベース サーフェスとして使用して体積情報を計算します。

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

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Calculate Volume information
arcpy.ia.CalculateCutfillVolume(in_raster=r"C:\Data\YVWD_dsm.crf",    in_base_surface='{"objectIdFieldName":"OBJECTID","fields":[{"name":"OBJECTID","type":"esriFieldTypeOID","alias":"OBJECTID","domain":null},{"name":"Shape","type":"esriFieldTypeGeometry","alias":"Shape","domain":null},{"name":"id","type":"esriFieldTypeInteger","alias":"ID","domain":null},{"name":"name","type":"esriFieldTypeString","alias":"NAME","domain":null},{"name":"baseType","type":"esriFieldTypeInteger","alias":"BASE SURFACE TYPE","domain":{"type":"codedValue","name":"VolumeBaseSurfaceType","description":"Base surface types for volume calculation.","codedValues":[{"name":"Costant Z","code":0},{"name":"Best Fit","code":1},{"name":"Minimum Z","code":2},{"name":"Maximum Z","code":3},{"name":"Average Z","code":4}],"mergePolicy":"esriMPTDefaultValue","splitPolicy":"esriSPTDefaultValue"}},{"name":"constantZ","type":"esriFieldTypeDouble","alias":"CONSTANT Z","domain":null},{"name":"area","type":"esriFieldTypeDouble","alias":"AREA","domain":null},{"name":"minz","type":"esriFieldTypeDouble","alias":"MINIMUM Z","domain":null},{"name":"maxz","type":"esriFieldTypeDouble","alias":"MAXIMUM Z","domain":null},{"name":"meanz","type":"esriFieldTypeDouble","alias":"MEAN Z","domain":null},{"name":"cut","type":"esriFieldTypeDouble","alias":"CUT","domain":null},{"name":"fill","type":"esriFieldTypeDouble","alias":"FILL","domain":null}],"geometryType":"esriGeometryPolygon","spatialReference":{"wkid":102100,"latestWkid":3857},"features":[{"geometry":{"rings":[[[-13034818.299460374,4029761.0475366744],[-13034772.914974842,4029762.241865241],[-13034776.497960543,4029728.5020832345],[-13034835.915806731,4029729.3978296597],[-13034818.299460374,4029761.0475366744]]],"spatialReference":{"wkid":102100,"latestWkid":3857}},"attributes":{"id":1,"name":"AOI 1","baseType":0,"constantZ":90,"area":1172.3330906432095,"minz":626.8749025576568,"maxz":629.5470508029413,"meanz":627.6681208213765,"cut":631398.5623827629,"fill":0}}]}',    base_surface_type="MINIMUM",    
constant_z=300,    
out_volume_info=r"C:\cutfill\volume.json",    
out_cut_fill_raster=r"C:\cutfill\CutFillRaster.crf")
CalculateCutfillVolume の例 2 (スタンドアロン スクリプト)

この例では、ポリゴン フィーチャクラスをベース サーフェスとして使用して体積を計算します。

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

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

# Define parameters.  
in_raster = r"C:\Data\YVWD_dsm.crf " 
in_base_surface = r"C:\Data\YVWD.gdb\AOI_2D"    
base_surface_type = "SURFACE"
Constant_z = "None"    
out_volume_info = r"C:\Output\volume.json"
out_cut_fill_raster = r"C:\Data\YVWD.gdb\CutFillRaster"

# Execute CalculateVolume
 arcpy.ia.CalculateCutfillVolume(in_raster, in_base_surface, base_surface_type, constant_z, out_volume_info, out_cut_fill_raster)

環境

このツールは、ジオプロセシング環境を使用しません。

ライセンス情報

  • Basic: 次のものが必要 Image Analyst
  • Standard: 次のものが必要 Image Analyst
  • Advanced: 次のものが必要 Image Analyst

関連トピック