需要 Spatial Analyst 许可。
摘要
通过减少表示要素宽度的像元数来对栅格化的线状要素进行细化。
用法
细化工具的典型应用是对扫描的等高线地图进行处理。由于扫描仪分辨率和原始地图中线宽度的原因,等值线将在生成的栅格中表示为五至十个像元宽度的线状元素。运行细化工具后,各个等值线将表示为单个像元宽度的线状要素。
如果启用,过滤器选项会使用与边界清理工具相同的过滤算法,来移除从主要分支延伸出来的较短线状要素。它也可移除宽度小于三个像元的要素。
指定输入线状要素的最大线宽对于细化栅格必不可少,线状要素的宽度可超出或低于默认的最大线宽值。如果最大线宽适合要被细化的最宽线状要素,则可望获得最佳结果。
以下详细说明了细化工具中使用的常规算法:
Zhan, Cixiang, 1993, A Hybrid Line Thinning Approach, Proceedings Auto-Carto 11, Minneapolis , pp. 396-405
有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst。
语法
Thin (in_raster, {background_value}, {filter}, {corners}, {maximum_thickness})
参数 | 说明 | 数据类型 |
in_raster | 要进行细化的输入栅格。 必须为整型。 | Raster Layer |
background_value (可选) | 指定用于识别背景像元的像元值。线状要素将基于前景像元生成。
| String |
filter (可选) | 指定是否要在细化的第一阶段使用过滤器。
| Boolean |
corners (可选) | 指定在转弯处或交汇点处使用平滑拐角还是尖锐拐角。 在样条化曲线或创建尖锐交点和拐角等矢量转换过程中,同样会使用此选项。
| String |
maximum_thickness (可选) | 输入栅格中线状要素的最大线宽(以地图单位表示)。 默认线宽是像元大小的十倍。 | Double |
返回值
名称 | 说明 | 数据类型 |
out_raster | 细化的输出栅格。 输出始终为整型。 | Raster |
代码示例
Thin 示例 1(Python 窗口)
本例对背景值为 NoData 的栅格进行细化,并在尝试保留拐角和交汇点的同时对边界进行平滑处理。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
thinOut = Thin("land","NODATA", "FILTER", "SHARP", 300)
thinOut.save("c:/sapyexamples/output/thinout")
Thin 示例 2(独立脚本)
本例对背景值为 NoData 的栅格进行细化,并在尝试保留拐角和交汇点的同时对边界进行平滑处理。
# Name: Thin_Ex_02.py
# Description: Thins rasterized linear features by
# reducing the number of cells
# representing the width of the features.
# 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
inRaster = "land"
tolerance = 300
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Thin
thinOut = Thin(inRaster, "NODATA", "FILTER", "SHARP", tolerance)
# Save the output
thinOut.save("c:/sapyexamples/output/thinoutput")
环境
许可信息
- ArcGIS Desktop Basic: 需要 Spatial Analyst
- ArcGIS Desktop Standard: 需要 Spatial Analyst
- ArcGIS Desktop Advanced: 需要 Spatial Analyst