- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
本文介绍批量下载遥感影像时,利用 Python 实现 已下载影像文件 的核对,并自动生成 未下载影像 的下载链接列表的方法.
批量下载 大量遥感影像数据 对于 GIS 学生与从业人员可谓十分常见。然而,对于动辄成千上万景的遥感影像文件,下载过程中可能会出现各类失败问题,且或许 在下载软件或工具中还不能很好显示失败的文件有哪些 (这一点在批量下载 MODIS 产品时显得尤为突出,因为目前 Landsat 、 Sentinel 这些遥感数据还可以用常见下载软件进行批量下载,但 MODIS 批量下载却变得越来越麻烦),从而使得最终下载完成后的文件夹中遥感影像文件数量与预期下载数量不符合,即部分影像文件没有下载下来.
针对这种情况,需要我们对缺失的文件加以筛选,并重新生成下载链接并下载;在文件数量很大时,手动实现上述功能显然是不现实的;而我们可以用 Python 短短几行代码来实现这一过程.
首先,展示代码如下:
import os
all_url_file_path='H:/s2021_3.txt'
download_hdf_file_path='H:/s2021_3_test/'
lost_url_file_path='H:/s2021_3_lost.txt'
download_hdf=os.listdir(download_hdf_file_path)
with open(all_url_file_path,'r') as all_url_file:
all_url=all_url_file.readlines()
for url in all_url:
url_single_hdf=url[63:108]
if url_single_hdf not in download_hdf:
with open(lost_url_file_path,'a') as lost_url_file:
lost_url_file.write(url)
其中, all_url_file_path 是包含我们全部需要下载的遥感影像下载链接的文件,一般都会是 .txt 格式(因此如果大家用 GEE 等方法下载可能就不适用啦); download_hdf_file_path 是存放下载后遥感影像的文件夹, lost_url_file_path 是程序生成未下载遥感影像文件下载链接的 .txt 文件(程序自动创建,大家无需手动建立).
其实原理很简单,就是依据已下载文件名称和全部链接中的名称进行对比,将为在已下载文件中对比到的影像文件下载链接复制到新 .txt 文件中。在这里,需要大家的下载链接和遥感影像数据中具有一致且和其它遥感影像数据不重复的部分(一般下载 Landsat 、 MODIS 等常见遥感数据产品都满足这一要求),在这里将其称为 影像特征段 ;其中, url[63:108] 是提取链接中的 影像特征段 ,大家依据实际情况修改即可,还可以修改为正则表达式的形式;本文中我的遥感影像数据文件名称就是 影像特征段 自身,因此就没有对遥感影像文件名称加以提取处理,大家基于实际需要修改即可~ 。
至此,大功告成.
最后此篇关于Python核对遥感影像批量下载情况的方法的文章就讲到这里了,如果你想了解更多关于Python核对遥感影像批量下载情况的方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我是一名优秀的程序员,十分优秀!