你认识GDAL吗?你了解GDAL吗?

GDAL是栅格和矢量地理空间数据格式的转换器库,由开源地理空间基金会以X / MIT样式的开源许可证发布。作为一个库,它为调用的应用程序提供了所有支持的格式的单个栅格抽象数据模型和单个矢量抽象数据模型。 它还带有用于数据转换和处理的各种有用的命令行实用程序。 

反正我不是很熟,我只知道它很酷、很快、而且很厉害,不过好像也有很多缺陷。很酷很快很厉害我就不多说了,网上的彩虹屁多的和牛毛一样。我主要想说说几个问题,虽然这些问题可能只有我会遇到(意思是可能我安装的姿势不太对)。

1662a0b3128e57ae930615ef57d12220.png

你要是为我花过一块钱(上一篇),你可能就会发现一点点问题。为什么我得单独加载一个WGS坐标的tif图呢?这就是我想说的问题所在了,你要是看不下去就跳到下一段吧。python的gdal库可以读取很多的遥感影像格式,但是读进来并不意味着认出来,就好比上回的OMI,读进来后并不能准确的认出它的ds.GetGeoTransform()中的6个参数(分别是左下角x,左上角y,x和y的长宽以及两个0值---如果有错,请无情的批判我),好像也认不到它的坐标系?具体我忘了。总之,是有些问题的。

e428d7c1c3f2fdaedaf30af78303b8c9.png

但是,今天的内容并不集中在python的gdal库,而是正!经! GDAL 的C语言程序上,通过python的subprocess包调用cmd函数。起码这个方式上,我没有遇到那么多问题~

ee6f61028dddd7b9ecdd00b4d56f462a.png

好了~废话不要那么多,不如直接上干货。。。

等等,上干货之前,你总要了解一下GDAL的安装吧,我觉得安装GDAL也是满满的血坑,但是。。。我就是不告诉你我摔了个怎么样的大趴。。。毕竟:

14fcb7e61d2e2bae2a33f5c2c85054ae.png

跳过GDAL安装,愉快的lu python代码吧

import subprocess#首先是拼接subprocess.call('D:/Anaconda3/python.exe'+' '+'gdal_merge.py '+'-of GTiff '+'-o '+str(oup)+' '+str(inp1))#这里,out是输出的路径+文件名,inp1是输入的subprocess.call("gdalwarp -cutline " + str(shp) + " -crop_to_cutline " + str(inp) + " -tr " + str(res) + " " + str(res) + " " + str(out), shell = True)#和上面一样的,out是输出的路径+文件名,inp1是输入的,两个res分别是空间分辨率的长和宽,shp是裁剪用的矢量哦

你们要是问我为什么写的这么简单,解释的这么不酷?

还能为什么?我懒啊!

还在等什么?还不赶紧跨过GDAL安装的门槛,愉快的用GDAL快速的裁剪、拼接成千上万的遥感影像?

放两个结果给大家:

第一个是裁剪:

2f6839e0dd8b9767968ad46024a09607.png

(猜猜这是哪?)

下一个是拼接:

121a553b69f3950b110e48a854f9d6c0.png

(这个你们可能看不清,它是两个MAIAC的影像拼接而成,分为上下两部分)

佛系关注公众号:一个有趣的灵魂W

带给你不一样的惊喜

最后,希望我能和大家一样的幸福快乐~

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐