wenzhaofei的个人博客分享 http://blog.sciencenet.cn/u/wenzhaofei

博文

python处理Landsat系列影像的一些总结(1)

已有 7853 次阅读 2018-3-22 13:30 |个人分类:科研笔记|系统分类:科研笔记| python, gdal, landsat, 剪切, 裁剪, python, gdal, landsat

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)。





https://blog.sciencenet.cn/blog-365459-1105168.html

上一篇:猜想——构建民航客货机遥感体系
下一篇:暴力解决"应用程序无法启动,因为应用程序的并行配置不正确。"
收藏 IP: 111.10.94.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-12-21 21:51

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部