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

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

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

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

我處理數(shù)據(jù)的前提是:

  • 根據(jù)最佳路徑數(shù)據(jù)集,獲取經(jīng)緯度和時(shí)間。
  • 根據(jù)時(shí)間找對應(yīng)的hdf文件,獲取其中的經(jīng)緯度,然后根據(jù)hdf文件中的經(jīng)度確定是哪顆衛(wèi)星的。
  • 在全圓盤標(biāo)對稱文件經(jīng)緯度對照表dat文件獲取經(jīng)緯度時(shí)加上相應(yīng)的經(jīng)度。
  • 最后根據(jù)最佳路徑的經(jīng)緯度獲取dat文件中最近格點(diǎn)的經(jīng)緯度索引,再通過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])  # 獲取經(jīng)度

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

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

在這里插入圖片描述

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

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')]

對應(yīng)信息見下圖數(shù)據(jù)集。

獲取亮溫值:

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

hw = hw1[()]  # 通道IR1,定標(biāo)表
db = db1[()]  # 獲取定標(biāo)表的值
tb = np.zeros(shape=(2288, 2288))  # 2288*2288的圖像每個(gè)具體的亮溫值
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  # 注意需要轉(zhuǎn)置

2. 處理dat文件

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

數(shù)據(jù)解壓之后,里面有三個(gè)文件,分別是:

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

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

對于不同的星可以根據(jù)hdf文件中的經(jīng)度,判斷對應(yīng)的查找表的經(jīng)度。

下面以H星為例,讀取dat文件,獲取網(wǎng)格經(jīng)緯度

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  # 先存經(jīng)度,根據(jù)衛(wèi)星的不同加上對應(yīng)的經(jīng)度值
        #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]

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

# 經(jīng)度表
[[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文件中的網(wǎng)格經(jīng)緯度,即2288*2288的對照表,這樣根據(jù)最佳路徑數(shù)據(jù)集中的經(jīng)緯度,找到網(wǎng)格中最近的經(jīng)緯度。

注:因?yàn)榫W(wǎng)格存儲的經(jīng)緯度不是等間距的,所以不能直接近似找最近的點(diǎn),需要根據(jù)角度計(jì)算距離,找到網(wǎng)格上離所求經(jīng)緯度最近的網(wǎng)格點(diǎn),找到對應(yīng)的索引值,再根據(jù)索引值找到亮溫值。

總結(jié)

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

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

相關(guān)文章

  • vscode配置與python虛擬環(huán)境切換的幾種方式總結(jié)

    vscode配置與python虛擬環(huán)境切換的幾種方式總結(jié)

    Python之所以強(qiáng)大,除了語言本身的特性外,更重要的是擁有無所不及的第三方庫,下面這篇文章主要給大家介紹了關(guān)于vscode配置與python虛擬環(huán)境切換的幾種方式,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • Python格式化字符串f-string的使用教程

    Python格式化字符串f-string的使用教程

    這篇文章主要為大家詳細(xì)介紹了Python中格式化字符串f-string的使用教程,文中通過示例為大家進(jìn)行了詳細(xì)的介紹,需要的可以參考一下
    2022-07-07
  • Python中反轉(zhuǎn)字符串的常見方法小結(jié)

    Python中反轉(zhuǎn)字符串的常見方法小結(jié)

    在Python中,字符串對象沒有內(nèi)置的反轉(zhuǎn)方法,然而,在實(shí)際開發(fā)中,我們經(jīng)常會遇到需要反轉(zhuǎn)字符串的場景,比如處理回文字符串、文本加密等,因此,掌握如何在Python中反轉(zhuǎn)字符串是一項(xiàng)重要的技能,本文給大家介紹了Python反轉(zhuǎn)字符串的常見方法,需要的朋友可以參考下
    2025-07-07
  • python中f字符串以及其常見用法總結(jié)

    python中f字符串以及其常見用法總結(jié)

    python中的f是format函數(shù)的縮寫,用于格式化輸出,下面這篇文章主要給大家介紹了關(guān)于python中f字符串以及其常見用法的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • TensorFlow模型保存和提取的方法

    TensorFlow模型保存和提取的方法

    這篇文章主要為大家詳細(xì)介紹了TensorFlow模型保存和提取的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Python Selenium 之關(guān)閉窗口close與quit的方法

    Python Selenium 之關(guān)閉窗口close與quit的方法

    今天小編就為大家分享一篇Python Selenium 之關(guān)閉窗口close與quit的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • Python統(tǒng)計(jì)某列不同值的個(gè)數(shù)的示例代碼

    Python統(tǒng)計(jì)某列不同值的個(gè)數(shù)的示例代碼

    在數(shù)據(jù)分析和數(shù)據(jù)處理中,統(tǒng)計(jì)數(shù)據(jù)往往集中在特定列中不同值的出現(xiàn)次數(shù),本文主要介紹了Python統(tǒng)計(jì)某列不同值的個(gè)數(shù)的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • Python?基于xml.etree.ElementTree實(shí)現(xiàn)XML對比示例詳解

    Python?基于xml.etree.ElementTree實(shí)現(xiàn)XML對比示例詳解

    這篇文章主要介紹了Python?基于xml.etree.ElementTree實(shí)現(xiàn)XML對比,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12
  • Django實(shí)現(xiàn)簡單的分頁功能

    Django實(shí)現(xiàn)簡單的分頁功能

    這篇文章主要為大家詳細(xì)介紹了Django實(shí)現(xiàn)分頁功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-02-02
  • Django中ORM的基本使用教程

    Django中ORM的基本使用教程

    這篇文章主要給大家介紹了關(guān)于Django中ORM基本使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12

最新評論