构建轮廓 (数据管理)
摘要
计算镶嵌数据集中每个栅格数据集的轮廓。
用法
-
如果进行了选择,则仅重新计算那些所选的轮廓。
-
轮廓用于计算边界。如果修改沿镶嵌数据集周长方向的轮廓的形状,则需要重新计算边界。如果不选择使用此工具,则可稍后使用“构建边界”工具。
-
不能为引用的镶嵌数据集重新构建轮廓。
-
近似折点数参数用于定义轮廓的复杂程度。折点数越多意味着轮廓越精确且越不规则。有效值介于 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()