欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python如何處理衛(wèi)星云圖獲取亮溫值

 更新時間:2023年08月16日 10:43:38   作者:小朱小朱絕不服輸  
這篇文章主要介紹了python如何處理衛(wèi)星云圖獲取亮溫值問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

在處理衛(wèi)星云圖hdf文件時,matlab非常好用,但隨著python的流行,還是想學習一下python處理衛(wèi)星云圖數據獲取亮溫值。

我處理數據的前提是:

  • 根據最佳路徑數據集,獲取經緯度和時間。
  • 根據時間找對應的hdf文件,獲取其中的經緯度,然后根據hdf文件中的經度確定是哪顆衛(wèi)星的。
  • 在全圓盤標對稱文件經緯度對照表dat文件獲取經緯度時加上相應的經度。
  • 最后根據最佳路徑的經緯度獲取dat文件中最近格點的經緯度索引,再通過hdf文件獲得亮溫值。

1.處理hdf文件

import h5py
hdfFile = h5py.File('F:/新建文件夾/Satellite_Imagery/IR_data/韋森特/FY2D_FDI_ALL_NOM_20120723_1945.hdf', 'r')
db1 = hdfFile['/CALChannelIR1']
hw1 = hdfFile['/NOMChannelIR1']
db2 = hdfFile['/CALChannelIR2']
hw2 = hdfFile['/NOMChannelIR2']
db3 = hdfFile['/CALChannelIR3']
hw3 = hdfFile['/NOMChannelIR3']
db4 = hdfFile['/CALChannelIR4']
hw4 = hdfFile['/NOMChannelIR4']
infoh = hdfFile['/NomFileInfo']
a = hdfFile['NomFileInfo'][()]
print(a[0][3])  # 獲取緯度
print(a[0][4])  # 獲取經度

對于風云衛(wèi)星的數據格式,可以查閱相應的資料,獲取靜止氣象衛(wèi)星的數據格式。這里不再詳細描述。

亮溫值的獲取分為四個IR通道和一個可見光通道,不同通道的用處不同,根據自己的需求選取數據。

在這里插入圖片描述

對于獲取衛(wèi)星經緯度等數據,需要,根據NomFileInfo的數據集分析。

a = hdfFile['NomFileInfo'][()]
print(a)
[(b'FY2D', b'NOM', b'Nomalized Projection Full Disc Image', 0., 86.5, 35785864., b'fit', 2012, 7, 10, 12, 34, 0, 2012, 7, 23, 19, 45, 1, 2012, 7, 23, 19, 58, 58, 2012, 7, 23, 20, 0, 27, 6378137., 3.5e-05, 0.00014, 298.25722356, b'NOM Fit HDF5')]

對應信息見下圖數據集。

獲取亮溫值:

獲取通道1的亮溫值,代碼如下:

hw = hw1[()]  # 通道IR1,定標表
db = db1[()]  # 獲取定標表的值
tb = np.zeros(shape=(2288, 2288))  # 2288*2288的圖像每個具體的亮溫值
for i in range(2288):
    for j in range(2288):
        if hw[i][j] == 65535 or hw[i][j] == 65534:  # 判斷缺省值
            tb[i][j] = 0
        else:
            a = hw[i][j]
            tb[i][j] = db[0][a]
print(tb)
tb = tb.T  # 注意需要轉置

2. 處理dat文件

對于FY2氣象衛(wèi)星而言,經緯度查找表文件(NOM_ITG_2288_2288(0E0N)_LE.zip)可以從網上下載。

數據解壓之后,里面有三個文件,分別是:

在數據說明文件中,詳細說明了經緯度查找表數據的使用方法,同時針對FY2系列衛(wèi)星的經度進行了說明,由于上述經緯度數據是以中心點為0度經度生成的,所以對于FY2的數據,需要在經度數據上加上衛(wèi)星所在的經度。

5FY-2G104.5°E
6FY-2H79°E

對于不同的星可以根據hdf文件中的經度,判斷對應的查找表的經度。

下面以H星為例,讀取dat文件,獲取網格經緯度

lonlatfile = 'F:/Satellite_Imagery/Code/NOM_ITG_2288_2288(0E0N)_LE.dat'
    with open(lonlatfile, 'rb') as f:
        #lon_fy = np.fromfile(f, count=2288 * 2288, dtype='float32') + 79  # 先存經度,根據衛(wèi)星的不同加上對應的經度值
        #lat_fy = np.fromfile(f, count=2288 * 2288, dtype='float32')  # 再存緯度
        data = np.fromfile(f, dtype='float32')
        data = data.reshape([2288, 2288, 2], order='F')
    #lon = lon_fy.reshape([2288, 2288], order='F')
    #lat = lat_fy.reshape([2288, 2288], order='F')
    lon = data[:, :, 0] + 104.5
    lat = data[:, :, 1]

這里需要注意的是,需要先取出來經度,再取出緯度,這是經緯度在dat文件中的存儲順序,然后加上衛(wèi)星的經度,這里是79,故經度加79,獲取經緯度。

# 經度表
[[379. 379. 379. ... 379. 379. 379.]
 [379. 379. 379. ... 379. 379. 379.]
 [379. 379. 379. ... 379. 379. 379.]
 ...
 [379. 379. 379. ... 379. 379. 379.]
 [379. 379. 379. ... 379. 379. 379.]
 [379. 379. 379. ... 379. 379. 379.]]
# 緯度表 
 [[300. 300. 300. ... 300. 300. 300.]
 [300. 300. 300. ... 300. 300. 300.]
 [300. 300. 300. ... 300. 300. 300.]
 ...
 [300. 300. 300. ... 300. 300. 300.]
 [300. 300. 300. ... 300. 300. 300.]
 [300. 300. 300. ... 300. 300. 300.]]

這樣就獲取了dat文件中的網格經緯度,即2288*2288的對照表,這樣根據最佳路徑數據集中的經緯度,找到網格中最近的經緯度。

注:因為網格存儲的經緯度不是等間距的,所以不能直接近似找最近的點,需要根據角度計算距離,找到網格上離所求經緯度最近的網格點,找到對應的索引值,再根據索引值找到亮溫值。

總結

以上就是我通過python讀取hdf,dat文件,根據經緯度獲取衛(wèi)星云圖的亮溫值的過程,僅為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

繪制登陸時的衛(wèi)星云圖亮溫值請參考python繪制登陸時的衛(wèi)星云圖(TBB)

相關文章

  • Python實戰(zhàn)之MNIST手寫數字識別詳解

    Python實戰(zhàn)之MNIST手寫數字識別詳解

    MNIST數據集是機器學習領域中非常經典的一個數據集,由60000個訓練樣本和10000個測試樣本組成,每個樣本都是一張28 * 28像素的灰度手寫數字圖片。本文主要介紹了通過 MNIST實現(xiàn)手寫數字識別,需要的可以參考一下
    2022-01-01
  • Python高效處理大文件的方法詳解

    Python高效處理大文件的方法詳解

    在這篇文章中,我們將學習如何使用multiprocessing、joblib和tqdm?Python包減少大文件的處理時間。這是一個簡單的教程,可以適用于任何文件、數據庫、圖像、視頻和音頻,感興趣的可以了解一下
    2022-07-07
  • python異步的ASGI與Fast Api實現(xiàn)

    python異步的ASGI與Fast Api實現(xiàn)

    本文主要介紹了python異步的ASGI與Fast Api實現(xiàn),文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧
    2021-07-07
  • 基于python + django + whoosh + jieba 分詞器實現(xiàn)站內檢索功能

    基于python + django + whoosh + jieba 分詞器實現(xiàn)站內檢索功能

    這篇文章主要介紹了基于python + django + whoosh + jieba 分詞器實現(xiàn)站內檢索功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • 解讀MaxPooling1D和GlobalMaxPooling1D的區(qū)別

    解讀MaxPooling1D和GlobalMaxPooling1D的區(qū)別

    這篇文章主要介紹了MaxPooling1D和GlobalMaxPooling1D的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Python中調用其他程序的方式詳解

    Python中調用其他程序的方式詳解

    這篇文章主要介紹了Python中調用其他程序的方式詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • Python中實現(xiàn)對list做減法操作介紹

    Python中實現(xiàn)對list做減法操作介紹

    這篇文章主要介紹了Python中實現(xiàn)對list做減法操作介紹,需要的朋友可以參考下
    2015-01-01
  • 使用Python下載抖音各大V視頻的思路詳解

    使用Python下載抖音各大V視頻的思路詳解

    這篇文章主要介紹了使用Python下載抖音各大V視頻的思路詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • Python  pip安裝lxml出錯的問題解決辦法

    Python pip安裝lxml出錯的問題解決辦法

    這篇文章主要介紹了Python pip安裝lxml出錯的問題解決辦法的相關資料,需要的朋友可以參考下
    2017-02-02
  • Python遠程linux執(zhí)行命令實現(xiàn)

    Python遠程linux執(zhí)行命令實現(xiàn)

    這篇文章主要介紹了Python遠程linux執(zhí)行命令實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11

最新評論