ArcGIS教程:填洼

来源:互联网 发布:mac语言切换快捷键 编辑:程序博客网 时间:2024/05/17 01:59

  摘要

  通过填充表面栅格中的汇来移除数据中的小缺陷。

  用法

  · 凹陷点是指未定义流域方向的像元;其周围的像元均高于它。倾泻点是相对于凹陷点的汇流区域高程最低的边界像元。如果凹陷点中充满了水,则水将从该点倾泻出去。

  · z 限制指定凹陷点深度和倾泻点间的最大允许差值并确定要填充的凹陷点和保持不变的凹陷点。z 限制并非要填充的最大深度。

  例如,假设一个凹陷点区域中倾泻点的高程为 210 英尺,凹陷点的最深点为 204 英尺(相差 6 英尺)。如果将 z 限制设置为 8,则会填充该特殊凹陷点。但是,如果将 z 限制设置为 4,则不会填充该凹陷点,因为该凹陷点的深度超过该限制值,将其视为有效凹陷点。

  · 小于 z 限制且低于其最低相邻像元的所有凹陷点都将填充到其倾泻点的高度。

  · 运行填洼工具非常占用内存、CPU 和磁盘空间。最多时可能要求磁盘空间为输入栅格的四倍。

  · 包含的带有 z 限制的凹陷点数量将决定处理时间的长度。凹陷点越多,处理时间就越长。

  · 凹陷点工具可用于在使用填充工具前查找凹陷点数量,并帮助识别凹陷点深度。了解凹陷点深度将有助于确定适用的 z 限制。

  · 此外,还可以使用填洼来移除峰值。峰值像元高于所有相邻像元值。要移除峰,必须转换输入的表面栅格值。此操作可通过减工具来执行。将表面栅格数据的最高值指定为减运算的第一个输入变量,将表面栅格数据指定为第二个输入变量。执行填充。转换结果后获得的表面为包含原始表面栅格值且移除了峰值后的表面。z 限制也可应用于此过程。如果未对 z 限制作出任何指定,则将移除所有峰值。如果指定了 z 限制,并且某峰与其最高相邻像元之间的 z 值差大于此 z 限制,则不会移除该峰。

  语法

  Fill (in_surface_raster, {z_limit})

  代码实例

  填洼 (Fill) 示例 1(Python 窗口)

  本示例将填充输入的高程表面格网栅格的凹陷点。

  import arcpy

  from arcpy import env

  from arcpy.sa import *

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

  outFill = Fill("elevation")

  outFill.save("C:/sapyexamples/output/outfill01")

  填洼 (Fill) 示例 2(独立脚本)

  本示例将在应用 z 限制的情况下填充输入的高程表面格网栅格的凹陷点。

  # Name: Fill_Ex_02.py

  # Description: Fills sinks in a surface raster.

  # 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

  inSurfaceRaster = "elevation"

  zLimit = 3.28

  # Check out the ArcGIS Spatial Analyst extension license

  arcpy.CheckOutExtension("Spatial")

  # Execute FlowDirection

  outFill = Fill(inSurfaceRaster, zLimit)

  # Save the output

  outFill.save("C:/sapyexamples/output/outfill02")

0 0
原创粉丝点击