一、環境準備
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代碼實現,可以批量下載遙感影像數據,提高效率。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/272060.html