|||
1、Landsat数据(.tar.gz)的自动解压脚本
# -*- coding: utf-8 -*-
"""
Created on Wed Mar 21 14:10:21 2018
@author: wenzhaofei
"""
import tarfile #网上下的Landsat数据都是压缩包(.tar.gz),因此需调用tarfile包(其他类似的解压缩包也可以)
folder = 'g:/test/' #存放数据的文件夹
indata = 'LT51240392010355BKT00.tar.gz' #需被解压的影像压缩包
tar = tarfile.open(folder+indata) # 打开影像压缩包
names = tar.getnames() #获取影像压缩包里包含的文件名
for name in names:
tar.extract(name,path=folder) #开始解压(这里解压的是所有文件,也可以只解压其中的某一个文件,指定文件名就好)
tar.close()
2、Landsat波段影像等栅格数据的剪切(裁剪)
# -*- coding: utf-8 -*-
"""
Created on Wed Mar 21 14:10:21 2018
@author: wenzhaofei
"""
import subprocess
from osgeo import ogr #需先按照gdal包(在这里:https://www.lfd.uci.edu/~gohlke/pythonlibs/,搜索"gdal")
folder = 'g:/test/' #存放数据的文件夹
inraster = folder+'LT51240392010355BKT00_B2.TIF' #需被剪切的栅格数据路径
outraster = inraster.replace('.TIF', '_cliped.TIF') #被剪切的栅格数据存放路径
inshape = folder+'clipping_area.shp' #剪切的范围
subprocess.call(['gdalwarp', '-srcnodata', '-dstnodata', '-cutline', \
inshape, inraster, outraster, '-crop_to_cutline', '-overwrite'])
#这里,'-cutline'是关键参数,'-crop_to_cutline'可以让输出的范围为剪切范围的外包矩形,其他的参数参考官方解释
(http://www.gdal.org/gdalwarp.html)。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-21 21:51
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社