见如下代码。
def clip_raster_by_shpfile_save_into_tif_formate_jpg_formate(input_raster, input_shpfile,
output_raster, output_jpg):
'''这个函数是用shpfile裁剪raster,同时保存两个结果到指定文件夹中
一个是tif格式带坐标系的tif栅格数据,一个是jpg格式无坐标是的jpg图片数据
input_raster待裁剪的栅格数据完整路径
input_shpfile用于裁剪栅格的矢量数据完整路径
output_raster输出栅格数据的完整路径
output_jpg输出图片数据的完整路径
-----------------------------------------------------------------------------------
gdal.Warp参数说明如下:
outputRasterNamePath裁剪后文件保存路径及文件名
input_RASTER待裁剪影像源文件
cutlineDSName用于裁剪栅格数据的矢量文件完整路径
cropToCutline保证裁剪后影像大小跟矢量文件的图框大小一致
cropToCutline设置为False时,结果图像大小会跟待裁剪影像大小一样,则会出现大量的空值区域
'''
shapefile_data_reader = shapefile.Reader(input_shpfile)
# 获取该shp文件有多少条记录
shapefile_data_record = shapefile_data_reader.numRecords
flag_value = 0
if shapefile_data_re