??本文介紹批量下載遙感影像時,利用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]是提取鏈接中的影像特征段,大家依據實際情況修改即可,還可以修改為正則運算式的形式;本文中我的遙感影像資料檔案名稱就是影像特征段自身,因此就沒有對遙感影像檔案名稱加以提取處理,大家基于實際需要修改即可~
??至此,大功告成,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/544561.html
標籤:Python
上一篇:RabbitMQ中間件
下一篇:02Python輸入輸出
