摘要
计算镶嵌数据集中每个栅格的范围。从镶嵌数据集添加或移除栅格数据集并想要重新计算轮廓线时使用此工具。
用法
如果已在镶嵌数据集图层上进行选择,则仅重新计算选定的那些轮廓线。
轮廓线用于计算边界。如果修改沿镶嵌数据集周长方向的轮廓线的形状,则需要重新计算边界。如果不选择使用此工具,则可稍后使用构建边界工具。
不能为引用的镶嵌数据集重新构建轮廓线。
近似折点数参数用于定义轮廓线的复杂程度。折点数越多意味着轮廓线越精确且越不规则。有效值介于 4 到 10000 之间。可以将该值设置为 -1(这样就不会发生制图综合),但这可能意味着轮廓线具有大量折点。
- 最小区域大小、最小薄度比率和最大狭长大小用于移除轮廓中的孔洞和狭长面。
数据库碎片和频繁的数据操纵可能会显著增大镶嵌数据集的大小。如果由于恒定事务导致数据库膨胀,则应运行数据库碎片整理工具。
语法
BuildFootprints_management (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 (可选) | 用以下方法之一优化轮廓线:
| 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 (可选) | 在使用已分块且对接(或沿着接边对齐且基本没有重叠)的栅格数据集时使用此参数。
| Boolean |
skip_derived_images (可选) | 调整概视图的轮廓线。
| Boolean |
update_boundary (可选) | 如果已添加或移除范围会更改的影像,则更新镶嵌数据集的边界。
| Boolean |
request_size (可选) | 构建轮廓线时为栅格设置重采样范围(用列数和行数表示)。图像分辨率越高,提供的栅格数据集信息越详细,但同时也增加了处理时间。值为 -1 时将计算原始分辨率的轮廓线。 | Long |
min_region_size (可选) | 使用像素值创建掩码时避免影像中的小孔洞。例如,影像的值范围为 0–255,而为了掩膜云,您已排除 245–255 的值,这样可能导致其他非云像素也被掩膜。如果那些区域小于此处指定的像素数量,则不会进行掩膜。 | Long |
simplification_method (可选) | 减少轮廓线中的折点数以提高性能。
| 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_size 和 min_thinness_ratio 的面将从轮廓线中移除。 | Double |
代码实例
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)