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

ArcGIS教程:细化 (Spatial Analyst)

ArcGIS教程:细化 (Spatial Analyst)
通过减少表示要素宽度的像元数来对栅格化的线状要素进行细化。

摘要

    通过减少表示要素宽度的像元数来对栅格化的线状要素进行细化。

用法

·      细化工具的典型应用是对已扫描的高程等值线地图进行处理。由于扫描仪分辨率和原始地图中线宽度的原因,等值线将在生成的栅格中表示为五至十个像元宽度的线状元素。运行细化工具后,各个等值线将表示为单个像元宽度的线状要素。

·      过滤器选项使用与边界清理相同的过滤算法,来移除从主要分支延伸出来的较短线状要素。它也可移除宽度小于三个像元的要素。

·      指定输入线状要素的最大线宽对于细化栅格必不可少,线状要素的宽度可超出或低于默认的最大线宽值。如果最大线宽适合要被细化的最宽线状要素,则可望获得最佳结果。

·      以下详细说明了细化工具中使用的常规算法:

Zhan, Cixiang1993,《混合线细化方法》,自动制图会议记录 11,明尼阿波里斯,第 396-405

语法

    Thin (in_raster, {background_value}, {filter}, {corners}, {maximum_thickness})

参数

说明

数据类型

in_raster

要进行细化的输入栅格。

必须为整型。

Raster Layer

background_value

(可选)

指定用于识别背景像元的像元值。线状要素将基于前景单元生成。

·         ZERO — 背景由 0 像元、负值像元或 NoData 像元组成。值大于 0 的所有像元均为前景像元。

·         NODATA — 背景由 NoData 单元组成。所有具备有效值的单元均属于前景单元。

String

filter

(可选)

指定是否要在细化的第一阶段使用过滤器。

·         NOFILTER — 不使用过滤器。 这是默认设置。

·         FILTER — 将过滤栅格以平滑前景像元和背景像元间的边界。此选项将排除输出栅格中次要的不规则内容。

Boolean

corners

(可选)

指定在转弯处或交汇点处平滑拐角还是锐化拐角。

在样条化曲线或锐化交点和拐角等矢量转换过程中,同样会使用此选项。

·         ROUND — 尝试对拐角处和交汇点处进行平滑。对等值线或河流等自然要素进行矢量化时,最好选中此选项。

·         SHARP — 尝试保留直角拐角和交汇点。对街道等人造要素进行矢量化时,最好选中此选项。

String

maximum_thickness

(可选)

输入栅格中线状要素的最大线宽(以地图单位表示)。

默认线宽是像元大小的十倍。

Double

返回值

名称

说明

数据类型

out_raster

细化的输出栅格。

Raster

代码实例

    “细化示例 1Python 窗口)

    本例对背景值为 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")

    “细化示例 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")

环境

    像元大小当前工作空间掩膜输出坐标系范围临时工作空间捕捉栅格

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