日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

Python中ArcPy实现栅格图像文件由HDF格式批量转换为TIFF格式

發(fā)布時間:2024/1/18 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python中ArcPy实现栅格图像文件由HDF格式批量转换为TIFF格式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

??本文介紹基于PythonArcpy模塊,實現(xiàn)大量HDF格式的柵格圖像文件批量轉(zhuǎn)換TIFF格式的方法。

??首先,來看看我們想要實現(xiàn)的需求。

??在一個名為HDF的文件夾下,有五個子文件夾;每一個子文件夾中,都存儲了大量的.hdf格式的柵格遙感影像數(shù)據(jù)。

??我們?nèi)芜x一個子文件夾,來看看其中所含的文件。

??我們要做的,就是將HDF文件夾下的全部子文件夾中全部.hdf格式圖像文件,一次性轉(zhuǎn)換為.tif格式的圖像文件,并存儲在另一個名為TIFF的文件夾中。

??知道了具體需求,就可以開始操作了。首先,這里用到的代碼如下。

# -*- coding: utf-8 -*- """ Created on Fri Apr 15 11:13:27 2022@author: fkxxgis """import os import arcpyhdf_file_path="E:/LST/Data/MODIS/HDF/" tif_file_path="E:/LST/Data/MODIS/TIFF/"hdf_file_name_list=os.listdir(hdf_file_path)for hdf_file in hdf_file_name_list:if os.path.isdir(hdf_file_path+hdf_file):file_name_temp=hdf_filehdf_file_name_list_new=os.listdir(hdf_file_path+hdf_file)for hdf_file in hdf_file_name_list_new:tif_file_name=hdf_file[8:23]+".tif"data=arcpy.ExtractSubDataset_management(hdf_file_path+file_name_temp+'/'+hdf_file,tif_file_path+tif_file_name,"0;4")else:tif_file_name=hdf_file[8:23]+".tif"data=arcpy.ExtractSubDataset_management(hdf_file_path+hdf_file,tif_file_path+tif_file_name,"0;4")

??其中,hdf_file_path是.hdf格式文件的存儲路徑,tif_file_path是.tif格式文件的存儲路徑,換句話說也就是我們的結(jié)果保存路徑。

??首先,通過os.listdir()函數(shù)獲取HDF文件夾下全部文件;由于我們的.hdf格式文件并不是直接保存在HDF這個大文件夾下的,而是HDF下屬的多個子文件夾下,所以進(jìn)一步通過os.path.isdir()函數(shù)進(jìn)入這些子文件夾,并遍歷其中的.hdf格式文件,保存在hdf_file_name_list_new中;隨后,依據(jù)每一個.hdf格式文件的名稱,依次配置之后我們生成的.tif格式文件的名稱。

??接下來,我們就可以通過arcpy.ExtractSubDataset_management()函數(shù)來實現(xiàn)圖像格式的轉(zhuǎn)換了。其中,這一函數(shù)的第一個參數(shù)是原有.hdf文件的路徑及名稱,第二個參數(shù)是我們希望生成的.tif文件的路徑及名稱,第三個參數(shù)是我們希望在格式轉(zhuǎn)換時,保存的具體波段。

??需要著重說明一下這里保存波段的選取。在本文中,我需要轉(zhuǎn)換格式的是MODIS的地表溫度產(chǎn)品MOD11A2,其第一個波段(編號為0)是地表白天的溫度,第五個波段(編號為4)是地表夜晚的溫度,如下圖所示。

??假如在后續(xù)處理中,我只需要白天、夜晚這兩個波段,也就是編號為0和4的這兩個波段,那么我就只需要在arcpy.ExtractSubDataset_management()函數(shù)的第三個參數(shù)中輸入"0;4"就好了;其他情況以此類推。

??以上便是本次操作的全部代碼。我們這里選擇在 IDLE (Python GUI) 中運行代碼。

??得到結(jié)果文件如下圖;可以看到,所有圖像都已經(jīng)以.tif的格式保存了。

歡迎關(guān)注公眾號/CSDN/知乎/微博:瘋狂學(xué)習(xí)GIS

總結(jié)

以上是生活随笔為你收集整理的Python中ArcPy实现栅格图像文件由HDF格式批量转换为TIFF格式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。