ARCGIS python 裁剪栅格函数 arcpy.management.Clip
1 功能
裁剪掉栅格数据集、镶嵌数据集或图像服务图层的一部分。
2 使用情况
- 基于模板范围提取部分栅格数据集,输出与模板范围相交的所有像素
- 使用以 x 和 y 坐标的最小值和最大值确定的包络矩形或使用输出范围文件来指定剪切区域
- 使用已有的栅格或矢量图层作为剪切范围,如果使用要素类作为输出范围,通过要素裁剪栅格;
3 参数
python
arcpy.management.Clip(in_raster, rectangle, out_raster, {in_template_dataset}, {nodata_value}, {clipping_geometry}, {maintain_clipping_extent})
- in_raster:要裁剪的栅格数据集
- rectangle:
用于定义裁剪栅格时将使用的边界框范围的四个坐标。 坐标以
x-min,y-min,x-max,y-max
的顺序表示。
如果已设置 in_template_dataset 参数,则将自动设置该参数。【自己不需要写】
如果 in_template_dataset 参数是要素图层,则将从边界框中提取裁剪范围。 在此情况下,仅需指定 in_template_dataset 参数值,即可将 rectangle 参数留空。
同时设置了 rectangle 和 in_template_dataset 参数,则将使用 rectangle 参数值。
- out_raster:输出文件的路径
- in_template_dataset(可选) :将用作范围的栅格数据集或要素类。 裁剪输出包括与最小边界矩形相交的像素。
- 将某要素类作为输出范围并且要基于面要素进行栅格裁剪时,将
clipping_geometry
参数设置为ClippingGeometry
- nodata_value(可选):充当 NoData 的像素值
- clipping_geometry(可选) :指定是否使用指定要素类的最小外接矩形或几何来裁剪数据。
NONE
---将使用最小外接矩形来裁剪数据。 这是默认设置。ClippingGeometry
---将使用指定要素类的几何来裁剪数据。【在裁剪是要素类是有用处!】
- maintain_clipping_extent(可选):指定裁剪输出中将使用的范围
- MAINTAIN_EXTENT 将调整列数和行数并将对像素进行重采样,以便完全匹配指定的裁剪范围
- NO_MAINTAIN_EXTENT 保留输入栅格的像元对齐,并相应地调整输出范围。 这是默认设置。【进行栅格裁剪栅格时,使用这个】
4 函数使用的一些例子
"#"含义:
- 一个参数的默认值
- 作为占位符
4.1 矢量数据裁剪
python
# 同时使用inMaskData和矩形范围值,函数最终只使用【矩形范围值】进行裁剪
inMaskData = r"F:\quyu\area.shp"
arcpy.Clip_management(temp1, "84.005000 12.005001 131.994999 47.995000", out, inMaskData, "#", "ClippingGeometry", "NO_MAINTAIN_EXTENT")
4.2 栅格数据裁剪
python
# 矩形范围值省略,使用【栅格数据裁剪】
# 注意:这里的原始数据一定要比【栅格裁剪数据】要大
inMaskData = r"H:\NO2\Area\mask_finally\province_raster_change.tif"
arcpy.management.Clip(temp1, "#", out, "#", "#", "ClippingGeometry", "NO_MAINTAIN_EXTENT")
学习链接: