ArcGIS教程:填挖方

来源:互联网 发布:大智慧实时数据接口 编辑:程序博客网 时间:2024/06/04 18:35

  摘要

  计算两表面间体积的变化。通常用于执行填挖操作。

  插图

  

  

  用法

  · 通过填挖方工具可基于操作前后两个输入表面创建一个地图,以便显示出由于移除或添加表面材料而发生变化的表面材料的面积和体积。

  · 这两个输入栅格表面必须重叠。即必须具有公共原点、相同的像元行数和列数以及相同的像元大小。

  · 要获得精确的结果,z 单位应与 x,y 地面单位相同。这样可以确保所生成体积的单位属于有意义的立方单位制(如立方米)。如果二者不同,可使用 z 因子将 z 单位转换为 x,y 单位。例如,如果 x,y 单位是米而 z 单位是英尺,则应指定0.3048 的 z 因子以将英尺转换为米。

  或者,使用乘数学工具创建一个表面栅格,在此栅格中,z 值已调整为与地面单位保持一致。

  · 输出栅格的属性表可显示出执行填挖操作后表面体积的变化情况。使用正体积差值表示执行过挖操作(移除材料)的填/挖前栅格表面区域。使用负值表示执行过填操作(添加材料)的区域。

  · 利用此工具执行填/挖操作时,默认情况下,将使用专用渲染器来高亮显示执行填挖操作的位置。该渲染器将被挖的区域绘制成蓝色,将被填的区域绘制成红色。没有变化的区域将显示为灰色。

  代码实例

  挖填示例 1(Python 窗口)

  在本例中将计算出填挖操作位置处的体积和面积,并将结果输出为 Grid 栅格。

  import arcpy

  from arcpy import env

  from arcpy.sa import *

  env.workspace = "C:/sapyexamples/data"

  outCutFill = CutFill("elevation01", "elevation02", 1)

  outCutFill.save("C:/sapyexamples/output/outcutfill01")

  挖填示例 2(独立脚本)

  在本例中将计算出填挖操作位置处的体积和面积,并将结果输出为 Grid 栅格。

  # Name: Cutfill_Ex_02.py

  # Description: Calculates the volume and area of cut and

  # fill locations.

  # 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

  inBeforeRaster = "elevation01"

  inAfterRaster = "elevation02"

  zFactor = 0.5

  # Check out the ArcGIS Spatial Analyst extension license

  arcpy.CheckOutExtension("Spatial")

  # Execute CutFill

  outCutFill = CutFill(inBeforeRaster, inAfterRaster, zFactor)

  # Save the output

  outCutFill.save("C:/sapyexamples/output/outcutfill02")

0 0
原创粉丝点击