用Python下载风云四号高清卫星云图

风云四号拍摄的卫星云图非常漂亮,在此先附上图片和查看云图的网址

图片可以直接从网站上下载,但是下载完后的图片像素值仅为687*687,稍一放大就会变得模糊不清。于是,本文提供一个下载高清大图的思路,根据此思路可以下载大小为10992*10992的卫星云图,一张图约占120MB存储空间,图片放大多倍后仍然清晰。

首先给出图片的下载链接,以2019年12月16日5:00(UTC)拍摄的卫星云图为例,链接地址为http://rsapp.nsmc.org.cn/swapQuery/public/tileServer/getTile/fy-4a/full_disk/NatureColor/20191216050000/jpg/0/0/0.png。该链接地址可以看作是由如下几个部分组成:

① "http://rsapp.nsmc......NatureColor/":这一部分在任何时候都是固定不变的。

② "20191216050000":这是图片的拍摄时间,包括年月日时分秒。全球性的卫星云图在一天内发布的数量有限,并不是任何时候都有的,时间的取值集合在以下列表中:

PicTime = ["0000", "0015", "0100", "0200", "0245", "0300", "0315", "0400", "0500", "0545", "0600", "0615", "0700", "0800", "0845", "0900", "0915", "1000", "1100", "1145", "1200", "1215", "1300", "1400", "1445", "1500", "1515", "1600", "1700", "1745", "1800", "1815", "1900", "2000", "2045", "2100", "2115", "2200", "2300", "2345"]

③ "/jpg/":这一部分也是固定的。

④ "/0/0/0.png":这里有三个参数,这三个参数是下载高清图像的关键,接下来会详细介绍。

该网站为云图定义了5个缩放级别,分别用0~4表示,这是三个参数中第一个参数的含义。

缩放级别0代表一张完整的地球图片,尺寸为687*687。如下图所示:

缩放级别0

缩放级别1将一张图片等分成了4个部分 ,每一部分的尺寸为687*687,相比原来的图片放大了一倍,也更清晰了。既然图片被分割成了四个部分,为了指明需要查看的是图片的哪一个部分,三个参数的后两个参数就派上用场了,它们表示被分割出的图片在整张图片中的位置。如"×××/1/0/1.png"表示缩放级别为1时,第1行第2列的图片,如下图所示:

缩放级别1

同理,缩放级别2将一张图片分成了16个部分,每一部分的尺寸为687*687,相比缩放级别1更为清晰。如“×××/2/0/3.png”表示缩放级别为2时,第1行第4列的图片,如下图所示:

缩放级别2

以此类推,缩放级别4将图片分成了256个部分,即16行16列,每一部分的尺寸均为687*687。于是,我们要想下载一张完整的高清图片,以 2019年12月16日5:00(UTC)拍摄的卫星云图为例,只需让下载链接从http://rsapp.nsmc.org.cn/swapQuery/public/tileServer/getTile/fy-4a/full_disk/NatureColor/20191216050000/jpg/4/0/0.png 变化到http://rsapp.nsmc.org.cn/swapQuery/public/tileServer/getTile/fy-4a/full_disk/NatureColor/20191216050000/jpg/4/15/15.png 就可以将256张图片下载下来。由于此时的256张图片还是零散的,我们需要进行图片拼接,完成之后,一张10992*10992的高清大图就做成了!

以下是根据这个思路写出的代码:

"""
好像被官方发现了呀啊(⊙o⊙),
原代码不work了,
不过方法还是一样,
我就不放代码了
"""

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值