构建轮廓 (数据管理)
摘要
计算镶嵌数据集中每个栅格数据集的轮廓。
用法
-
如果进行了选择,则仅重新计算那些所选的轮廓。
-
轮廓用于计算边界。如果修改沿镶嵌数据集周长方向的轮廓的形状,则需要重新计算边界。如果不选择使用此工具,则可稍后使用“构建边界”工具。
-
不能为引用的镶嵌数据集重新构建轮廓。
-
近似折点数参数用于定义轮廓的复杂程度。折点数越多意味着轮廓越精确且越不规则。有效值介于 4 到 10000 之间。可以将该值设置为 -1(该值处不会发生制图综合),但这可能意味着轮廓具有大量折点。
-
该工具不支持环境设置。
语法
| 参数 | 说明 | 数据类型 |
in_mosaic_dataset |
将对其计算轮廓的镶嵌数据集。 | Mosaic Layer |
where_clause (可选) |
可以使用 SQL 定义查询,或者使用查询构建器构建查询。 | SQL Expression |
min_data_value (可选) |
表示有效图像数据的最低像素值。该值取决于栅格数据集的位深度。 例如,对于 8 位数据,该值可介于 0 到 255 之间。近似于 0 的值表示非常暗的颜色,如黑色边框像素。将该值指定为 1 时,小于 1 的值只有 0,因此,所有 0 值都将被视作无效的数据,并从轮廓的周长中移除。如果使用有损压缩方法压缩影像,则应定义一个稍大于 1 的值,以便移除所有黑色像素。当发现错误地从轮廓中移除黑色区域(如阴影)后,应减少该值。 | Double |
max_data_value (可选) |
表示有效数据的最高值。该值取决于栅格数据集的位深度。 例如,对于 8 位数据,该值可介于 0 到 255 之间。近似于 255 的值表示非常亮的颜色,如白云和雪。如果将该值指定为 245,则所有介于 246 和 255 之间的值都会从轮廓的周长移除。 | Double |
approx_num_vertices (可选) |
创建新轮廓面要使用的近似折点数。 最小值为 4,最大值为 10000。该值越大,面越精确且越不规则,处理时间也越长。 可以选择指定等于 -1 的值,这样不会概化面轮廓。 | Long |
shrink_distance (可选) |
以镶嵌数据集的坐标系单位指定的表示整个面的减小幅度的距离值。 面的收缩用于抵消有损压缩的影响,这会导致图像边缘与 NoData 区域重叠。 | Double |
maintain_edges (可选) |
在使用已切片且对接(或沿着接边对齐且基本没有重叠)的栅格数据集时使用此参数。
| Boolean |
reset_footprint (可选) |
使用添加栅格时生成轮廓的原始参数重新定义这些轮廓。
| Boolean |
skip_derived_images (可选) |
调整派生图像(如服务金字塔)的轮廓。
| Boolean |
update_boundary (可选) |
生成或更新镶嵌数据集的边界面。默认情况下,边界会合并所有轮廓面以创建一个表示有效像素范围的边界。
| Boolean |
request_size (可选) |
使用此过程检查栅格时对栅格进行重采样的大小。该值(如 2000)用于定义行和列的维度。 最小值为 0,最大值为 5000。 可以基于栅格数据的复杂程度增大或减小该值。图像分辨率越高,提供的栅格数据集信息越详细,因而也增加了处理时间。 如果指定的大小超出轮廓所包含的栅格,则将进行超级采样。 | Long |
min_region_size (可选) |
确定一个用来移除轮廓中所创建的孔洞的过滤器。 该值按像素指定,直接与“请求大小”相关,而与源栅格的像素分辨率无关。 | Long |
代码示例
这是 BuildFootprints 的 Python 示例。
import arcpy
arcpy.BuildFootprints_management("c:/workspace/fGDB.gdb/md_1", "#",\
"NO_RESET_FOOTPRINT", "1", "254", "25", "0",\
"#", "SKIP_DERIVED_IMAGES", "BUILD_BOUNDARY",\
"#", "#")这是 BuildFootprints 的 Python 脚本示例。
#===========================
#Build Footprints
#Usage: BuildFootprints_management in_mosaic_dataset {where_clause} {NO_RESET_FOOTPRINT
# | RESET_FOOTPRINT} {min_data_value} {max_data_value}
# {approx_num_vertices} {shrink_distance}
# {NO_MAINTAIN_EDGES | MAINTAIN_EDGES} {SKIP_DERIVED_IMAGES
# | NO_SKIP_DERIVED_IMAGES} {UPDATE_BOUNDARY |
# NO_BOUNDARY} {request_size} {min_region_size}
try:
import arcpy
arcpy.env.workspace = r"C:\Workspace"
# 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
arcpy.BuildFootprints_management("Footprints.gdb/md", "#", "NO_RESET_FOOTPRINT",\
"1", "254", "25", "0", "#", "SKIP_DERIVED_IMAGES",\
"UPDATE_BOUNDARY", "#", "#")
# Reset the footprint to default
arcpy.BuildFootprints_management("Footprints.gdb/md", "#", "RESET_FOOTPRINT",\
"#", "#", "#", "#", "#", "#", "UPDATE_BOUNDARY",\
"#", "#")
# Shrink distance while maintaining sheet edge
# Define request size for resampling
# Define the minimum region size
arcpy.BuildFootprints_management("Footprints.gdb/md16b", "#", "NO_RESET_FOOTPRINT",\
"1", "65534", "25", "5", "MAINTAIN_EDGES",\
"#", "UPDATE_BOUNDARY", "2000", "10")
except:
print "Build Footprints example failed."
print arcpy.GetMessages()