构建轮廓线 (数据管理)

摘要

计算镶嵌数据集中每个栅格的范围。从镶嵌数据集添加或移除栅格数据集并想要重新计算轮廓线时使用此工具。

使用情况

  • 如果已在镶嵌数据集图层上进行选择,则仅重新计算选定的那些轮廓线。

  • 轮廓线用于计算边界。如果修改沿镶嵌数据集周长方向的轮廓线的形状,则需要重新计算边界。如果不选择使用此工具,则可稍后使用构建边界工具。

  • 不能为引用的镶嵌数据集重新构建轮廓线。

  • 近似折点数参数用于定义轮廓线的复杂程度。折点数越多意味着轮廓线越精确且越不规则。有效值介于 4 到 10000 之间。可以将该值设置为 -1(这样就不会发生制图综合),但这可能意味着轮廓线具有大量折点。

  • 最小区域大小最小薄度比率最大狭长大小用于移除轮廓中的孔洞和狭长面。
  • 数据库碎片和频繁的数据操纵可显著增大镶嵌数据集的大小。 如果由于恒定事务导致数据库膨胀,请运行数据库碎片整理工具。

参数

标注说明数据类型
镶嵌数据集

该镶嵌数据集包含要计算轮廓线的栅格数据集。

Mosaic Layer
查询定义
(可选)

用于在镶嵌数据集内选择特定栅格数据集的 SQL 表达式。

SQL Expression
计算方法
(可选)

用以下方法之一优化轮廓线:

  • RADIOMETRY 排除值超出定义范围的像素。此选项通常用于排除未包含有效数据的边界区域。这是默认设置。
  • GEOMETRY 将轮廓线恢复为其原始几何形状。
  • COPY_TO_SIBLING 使用全色锐化栅格类型时,用多光谱轮廓线替换全色轮廓线。当全色图像和多光谱图像没有相同的几何形状时,就会发生这种情况。
  • NONE不重新定义轮廓线。

Boolean; String
最小数据值
(可选)

排除值小于此数字的像素。

Double
最大数据值
(可选)

排除值大于此数字的像素。

Double
近似折点数
(可选)

在 4 和 10,000 之间选择。折点越多,精度越高,但处理时间也更长。值为 -1 时将计算所有折点。折点越多,精度越高,但处理时间也更长。

Long
收缩距离
(可选)

按此距离裁剪轮廓线。可以消除使用有损压缩的伪影,即有损压缩导致的图像边缘与 NoData 区域重叠。

面的收缩用于抵消有损压缩的影响,此影响会导致图像边缘与 NoData 区域重叠。

Double
保持页边缘
(可选)

更改已分块且相邻(沿着接边对齐且基本没有重叠)的栅格数据集的轮廓线。

  • 取消选中 - 从所有轮廓线移除页边缘。这是默认设置。
  • 选中 - 保持轮廓线的原始状态。
Boolean
跳过概视图
(可选)

调整概视图的轮廓线。

  • 选中 - 不调整概视图的轮廓线。这是默认设置。
  • 未选中 - 调整概视图及关联栅格数据集的轮廓线。
Boolean
更新边界
(可选)

如果已添加或移除范围会更改的影像,则更新镶嵌数据集的边界。

  • 选中 - 更新边界。这是默认设置。
  • 未选中 - 不更新边界。
Boolean
请求大小
(可选)

构建轮廓线时为栅格设置重采样范围(用列数和行数表示)。图像分辨率越高,提供的栅格数据集信息越详细,但同时也增加了处理时间。值为 -1 时将计算原始分辨率的轮廓线。

Long
最小区域大小
(可选)

使用像素值创建掩膜时避免影像中的小孔洞。例如,影像的值范围为 0 至 255,而为了掩膜云,您已排除 245 至 255 的值,这样可能导致其他非云像素也被掩膜。如果那些区域小于此处指定的像素数量,则不会进行掩膜。

Long
简化方法
(可选)

减少轮廓线中的折点数以提高性能。

  • NONE不限制折点的数量。这是默认设置。
  • CONVEX_HULL使用最小边界框来简化轮廓线。
  • ENVELOPE使用每个镶嵌数据集项的包络矩形来简化轮廓线。
String
边缘容差
(可选)

如果在此容差内,则将轮廓线捕捉到页边缘。单位与镶嵌数据集坐标系中的单位相同。

默认情况下,基于与请求的重采样栅格对应的像素大小计算出来的容差值为空。

值为 -1 时,将使用镶嵌数据集的平均像素大小来计算容差。

Double
最大狭长大小
(可选)

标识小于此值平方值的所有面。该值按像素指定,基于请求大小而不是源栅格的空间分辨率。

小于(最大狭长大小)^2 且同时小于最小薄度比率的区域将视为狭长面,将被移除。

Long
最小薄度比率
(可选)

定义范围为 0 至 1.0 的狭长面薄度,其中 1.0 代表圆形,0.0 则代表接近于直线的面。

小于最大狭长大小最小薄度比率的面将从轮廓线中移除。

Double

派生输出

标注说明数据类型
更新的镶嵌数据集

已更新的镶嵌数据集。

镶嵌图层

arcpy.management.BuildFootprints(in_mosaic_dataset, {where_clause}, {reset_footprint}, {min_data_value}, {max_data_value}, {approx_num_vertices}, {shrink_distance}, {maintain_edges}, {skip_derived_images}, {update_boundary}, {request_size}, {min_region_size}, {simplification_method}, {edge_tolerance}, {max_sliver_size}, {min_thinness_ratio})
名称说明数据类型
in_mosaic_dataset

该镶嵌数据集包含要计算轮廓线的栅格数据集。

Mosaic Layer
where_clause
(可选)

用于在镶嵌数据集内选择特定栅格数据集的 SQL 表达式。

SQL Expression
reset_footprint
(可选)

用以下方法之一优化轮廓线:

  • RADIOMETRY 排除值超出定义范围的像素。此选项通常用于排除未包含有效数据的边界区域。这是默认设置。
  • GEOMETRY 将轮廓线恢复为其原始几何形状。
  • COPY_TO_SIBLING 使用全色锐化栅格类型时,用多光谱轮廓线替换全色轮廓线。当全色图像和多光谱图像没有相同的几何形状时,就会发生这种情况。
  • NONE不重新定义轮廓线。

Boolean; String
min_data_value
(可选)

排除值小于此数字的像素。

Double
max_data_value
(可选)

排除值大于此数字的像素。

Double
approx_num_vertices
(可选)

在 4 和 10,000 之间选择。折点越多,精度越高,但处理时间也更长。值为 -1 时将计算所有折点。折点越多,精度越高,但处理时间也更长。

Long
shrink_distance
(可选)

按此距离裁剪轮廓线。可以消除使用有损压缩的伪影,即有损压缩导致的图像边缘与 NoData 区域重叠。

面的收缩用于抵消有损压缩的影响,此影响会导致图像边缘与 NoData 区域重叠。

Double
maintain_edges
(可选)

在使用已分块且相邻(沿着接边对齐且基本没有重叠)的栅格数据集时使用此参数。

  • NO_MAINTAIN_EDGES从所有轮廓线移除页边缘。这是默认设置。
  • MAINTAIN_EDGES保持轮廓线的原始状态。
Boolean
skip_derived_images
(可选)

调整概视图的轮廓线。

  • SKIP_DERIVED_IMAGES不调整概视图的轮廓线。这是默认设置。
  • NO_SKIP_DERIVED_IMAGES调整概视图及关联栅格数据集的轮廓线。
Boolean
update_boundary
(可选)

如果已添加或移除范围会更改的影像,则更新镶嵌数据集的边界。

  • UPDATE_BOUNDARY更新边界。这是默认设置。
  • NO_BOUNDARY不更新边界。
Boolean
request_size
(可选)

构建轮廓线时为栅格设置重采样范围(用列数和行数表示)。图像分辨率越高,提供的栅格数据集信息越详细,但同时也增加了处理时间。值为 -1 时将计算原始分辨率的轮廓线。

Long
min_region_size
(可选)

使用像素值创建掩膜时避免影像中的小孔洞。例如,影像的值范围为 0 至 255,而为了掩膜云,您已排除 245 至 255 的值,这样可能导致其他非云像素也被掩膜。如果那些区域小于此处指定的像素数量,则不会进行掩膜。

Long
simplification_method
(可选)

减少轮廓线中的折点数以提高性能。

  • NONE不限制折点的数量。这是默认设置。
  • CONVEX_HULL使用最小边界框来简化轮廓线。
  • ENVELOPE使用每个镶嵌数据集项的包络矩形来简化轮廓线。
String
edge_tolerance
(可选)

如果在此容差内,则将轮廓线捕捉到页边缘。单位与镶嵌数据集坐标系中的单位相同。当 maintain_edges 设置为 MAINTAIN_EDGES 时使用此容差值。

默认情况下,基于与请求的重采样栅格对应的像素大小计算出来的容差值为空。

值为 -1 时,将使用镶嵌数据集的平均像素大小来计算容差。

Double
max_sliver_size
(可选)

标识小于此值平方值的所有面。该值按像素指定,基于 request_size 而不是源栅格的空间分辨率。

小于 (max_sliver_size)2 且同时小于 min_thinness_ratio 的区域将视为狭长面,将被移除。

Long
min_thinness_ratio
(可选)

定义范围为 0 至 1.0 的狭长面薄度,其中 1.0 代表圆形,0.0 则代表接近于直线的面。

小于 max_sliver_sizemin_thinness_ratio 的面将从轮廓线中移除。

Double

派生输出

名称说明数据类型
out_mosaic_dataset

已更新的镶嵌数据集。

镶嵌图层

代码示例

BuildFootprints 示例(Python 窗口)

这是 BuildFootprints 工具的 Python 示例。

import arcpy
arcpy.BuildFootprints_management(
     "c:/data/Footprints.gdb/md", "#","RADIOMETRY",
     "1", "254", "25", "0", "#", "SKIP_DERIVED_IMAGES", 
     "UPDATE_BOUNDARY", "#", "#", "CONVEX_HULL")
BuildFootPrints 示例 2(独立脚本)

这是 BuildFootprints 工具的 Python 脚本示例。

# Build Footprint by setting the valid pixel value range from 1 to 254
# Allow 25 vertices to be used to draw a single footprint polygon
# Skip the overviews image
# Build new boundary afterwards
# Build footprints based on minimum bounding geometry

import arcpy
arcpy.env.workspace = "C:/Workspace"

    
mdname = "Footprints.gdb/md"
query = "#"
method = "RADIOMETRY"
minval = "1"
maxval = "254"
nvertice = "25"
shrinkdis = "0"
maintainedge = "#"
skipovr = "SKIP_DERIVED_IMAGES"
updatebnd = "UPDATE_BOUNDARY"
requestsize = "#"
minregsize = "#"
simplify = "#"

arcpy.BuildFootprints_management(
     mdname, query, method, minval, maxval, nvertice, shrinkdis,
     maintainedge, skipovr, updatebnd, requestsize, minregsize, 
     simplify)