一、环境准备
1、注册usgs账号
在usgs官网(https://ers.cr.usgs.gov/)上,点击“注册”按钮,填写个人信息,完成后可以登录。
2、获得数据下载权限
要下载usgs的遥感影像数据,需要先在官网上获得数据下载权限。可在“地球资源观测数据访问(EODS)”页面进行提交请求,审核通过后即可下载数据。
二、数据搜索
1、在usgs官网上进入“USGS Earth Explorer”页面。
2、根据需要选择遥感影像数据的源、时间、地区等参数进行搜索。
3、搜索结果以图像形式展示出来,找到需要的图像后,点击“下载数据”进行下载。可选择多种格式,如Geotiff、JPEG、PNG等。
三、Python代码实现
为了便于批量下载数据,可以使用Python实现。
1、安装Python3.x版本
sudo apt-get install python3
2、安装requests库(用于HTTP请求)和tqdm库(用于显示下载进度)。
pip3 install requests tqdm
3、编写Python代码
代码实现了批量下载usgs遥感影像数据。首先需要输入数据下载链接文本文件的路径,链接文本文件每行存储一条数据下载链接。代码访问文本文件中的每个链接并逐一下载,保存在指定目录下。
import os
import requests
from tqdm import tqdm
def download_file(url, output_folder):
"""
Download file at url to output_folder
"""
local_filename = url.split("/")[-1]
local_filepath = os.path.join(output_folder, local_filename)
with requests.get(url, stream=True) as r:
r.raise_for_status()
with open(local_filepath, "wb") as f:
with tqdm.wrapattr(f, "write", miniters=1,
desc=local_filename, total=int(
r.headers.get("content-length", 0))
) as f:
for chunk in r.iter_content(chunk_size=8192):
if chunk:
f.write(chunk)
return local_filepath
def download_files_from_txt(txt_file, output_folder, overwrite=False):
"""
Download files from urls in txt_file to output_folder
"""
with open(txt_file, "r") as f:
for url in f:
url = url.strip()
local_filepath = os.path.join(
output_folder, url.split("/")[-1])
if os.path.exists(local_filepath):
if overwrite:
os.remove(local_filepath)
else:
print("{} already exists.".format(local_filepath))
continue
download_file(url, output_folder)
if __name__ == "__main__":
txt_file = "url.txt"
output_folder = "output_folder"
overwrite = False
download_files_from_txt(txt_file, output_folder, overwrite)
四、总结
本文介绍了usgs遥感影像数据的下载流程,包括环境准备、数据搜索和Python代码实现。通过Python代码实现,可以批量下载遥感影像数据,提高效率。