『公告』 预祝您龙年大吉,万事如意, 过节期间, 大家如需数据服务,请拨打400 或直接添加客服微信,再祝大家龙年,心想事成。
关注我们 新浪 腾讯

ArcGIS教程:填挖方

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

摘要

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

插图



用法

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

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

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

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

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

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

语法

    CutFill (in_before_surface, in_after_surface, {z_factor})

参数

说明

数据类型

in_before_surface

表示填/挖操作之前的表面的输入。

Raster Layer

in_after_surface

表示填/挖操作之后的表面的输入。

Raster Layer

z_factor

(可选)

一个表面 z 单位中地面 x,y 单位的数量。

z 单位与输入表面的 x,y 单位不同时,可使用 z 因子调整 z 单位的测量单位。计算最终输出表面时,将用 z 因子乘以输入表面的 z 值。

如果 x,y 单位和 z 单位采用相同的测量单位,则 z 因子为 1。这是默认值。

如果 x,y 单位和 z 单位采用不同的测量单位,则必须将 z 因子设置为适当的因子,否则会得到错误的结果。例如,如果 z 单位是英尺而 x,y 单位是米,则应使用 z 因子 0.3048 z 单位从英尺转换为米(1 英尺 = 0.3048 米)。

Double

返回值

名称

说明

数据类型

out_raster

定义挖填区域的输出栅格。

这些值显示了已向表面添加或从表面移除的位置和数量。

Raster

代码实例

    挖填示例 1Python 窗口)

    在本例中将计算出填挖操作位置处的体积和面积,并将结果输出为 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")

      京ICP备2025132830号-1 京公网安备 号