分割栅格 (Data Management)
摘要
根据输入栅格数据集创建分块输出。
用法
-
输出文件将共享输入源栅格的大部分属性,例如,空间参考、源类型、像素类型、像素深度和像元大小。
-
分块方法可确定使用哪些可选参数来判断输出分块的尺寸和位置。在这两种情况下,使用 NoData 值在没有相应源数据的位置填充分块。数据格式取决于各种格式规范的限制以及源图像数据类型。无效组合会产生相应的错误消息。
如果分块已经存在(如果存在同名文件),则不会覆盖此分块。
如果分块仅包含 NoData 像素值,则不会创建此分块。
语法
参数 | 说明 | 数据类型 |
in_raster |
要分割为分块的输入栅格数据集。 | Raster Layer |
out_folder |
输出文件夹,即要创建分块的位置。 | Folder |
out_base_name |
每个文件名的前缀。其后追加分块编号以构成完整的文件名,分块的编号从 0 开始。 默认情况下,前缀与输入栅格同名。 | String |
split_method |
分割栅格数据集时使用的分块方法。该方法将确定每个输出数据集的分块大小和数量。
| String |
format |
输出栅格数据集的文件格式。
| String |
resampling_type (可选) |
选择要在创建 DTED 时使用的重采样方法。默认设置为双线性插值重采样。
| String |
num_rasters (可选) |
指定每个方向上的分块数量。每个方向上的分块数量默认为 1。 该选项仅在分块方法为 NUMBER_OF_TILES 时有效。 | Point |
tile_size (可选) |
输出分块的 x 尺寸和 y 尺寸。单位参数将确定这些值所使用的单位。 该选项仅在分块方法为 SIZE_OF_TILE 时有效。 | Point |
overlap (可选) |
邻接分块之间重叠的像素数量。重叠值将由单位参数确定。 | Double |
units (可选) |
确定应用于分块大小和重叠参数的单位。
| String |
cell_size (可选) |
指定每个方向上的输出像素大小。默认情况下,输出将与输入栅格匹配。如果更改像元大小的值,则分块大小和计数会被重置为其默认值(分别为图像大小和 1)。 该参数基于在“环境设置”中设置的输出空间参考系统。 | Point |
origin (可选) |
左下角原点的坐标,即分块方案的开始位置。默认情况下,左下角原点与输入栅格相同。 该参数基于在“环境设置”中设置的输出空间参考系统。 | Point |
代码实例
这是 SplitRaster 的 Python 示例。
import arcpy
arcpy.SplitRaster_management("c:/source/large.tif", "c:/output/splitras",
"ras", "NUMBER_OF_TILES", "TIFF", "NEAREST",
"2 2", "#", "10", "PIXELS", "#", "#")
这是 SplitRaster 的 Python 脚本示例。
##====================================
##Split Raster
##Usage: SplitRaster_management in_raster out_folder out_base_name SIZE_OF_TILE
## | NUMBER_OF_TILES | TIFF | BMP | ENVI | ESRI BIL |
## ESRI BIP | ESRI BSQ | GIF | GRID | IMAGINE IMAGE |
## JP2 | JPG | PNG {NEAREST | BILINEAR | CUBIC |
## MAJORITY} {num_rasters} {tile_size} {overlap}
## {PIXELS | METERS | FEET | DEGREES | KILOMETERS |
## MILES} {cell_size} {origin}
try:
import arcpy
arcpy.env.workspace = r"\\myServer\PrjWorkspace\RasGP"
##Equally split a large TIFF image by number of images
arcpy.SplitRaster_management("large.tif", "splitras", "number", "NUMBER_OF_TILES",\
"TIFF", "NEAREST", "2 2", "#", "4", "PIXELS",\
"#", "#")
##Equally split a large TIFF image by size of images
arcpy.SplitRaster_management("large.tif", "splitras", "size2", "SIZE_OF_TILE",\
"TIFF", "BILINEAR", "#", "3500 3500", "4", "PIXELS",\
"#", "-50 60")
except:
print "Split Raster exsample failed."
print arcpy.GetMessages()