最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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

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

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

在這里插入圖片描述

對(duì)于獲取衛(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')]

對(duì)應(yīng)信息見(jiàn)下圖數(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文件

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

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

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

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

對(duì)于不同的星可以根據(jù)hdf文件中的經(jīng)度,判斷對(duì)應(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)星的不同加上對(duì)應(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]

這里需要注意的是,需要先取出來(lái)經(jīng)度,再取出緯度,這是經(jīng)緯度在dat文件中的存儲(chǔ)順序,然后加上衛(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的對(duì)照表,這樣根據(jù)最佳路徑數(shù)據(jù)集中的經(jīng)緯度,找到網(wǎng)格中最近的經(jīng)緯度。

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

總結(jié)

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

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

相關(guān)文章

  • Python裝飾器使用接口測(cè)試的步驟

    Python裝飾器使用接口測(cè)試的步驟

    這篇文章主要介紹了Python裝飾器使用接口測(cè)試的步驟,本文通過(guò)具體示例給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • python實(shí)現(xiàn)LRU熱點(diǎn)緩存及原理

    python實(shí)現(xiàn)LRU熱點(diǎn)緩存及原理

    LRU算法根據(jù)數(shù)據(jù)的歷史訪(fǎng)問(wèn)記錄來(lái)進(jìn)行淘汰數(shù)據(jù),其核心思想是“如果數(shù)據(jù)最近被訪(fǎng)問(wèn)過(guò),那么將來(lái)被訪(fǎng)問(wèn)的幾率也更高”。 。這篇文章主要介紹了python實(shí)現(xiàn)LRU熱點(diǎn)緩存,需要的朋友可以參考下
    2019-10-10
  • Pytest?Fixture參數(shù)講解及使用

    Pytest?Fixture參數(shù)講解及使用

    這篇文章主要介紹了Pytest之Fixture參數(shù)詳解及使用,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-01-01
  • Python連續(xù)賦值需要注意的一些問(wèn)題

    Python連續(xù)賦值需要注意的一些問(wèn)題

    這篇文章主要介紹了Python連續(xù)賦值需要注意的一些問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 符合語(yǔ)言習(xí)慣的 Python 優(yōu)雅編程技巧【推薦】

    符合語(yǔ)言習(xí)慣的 Python 優(yōu)雅編程技巧【推薦】

    Python最大的優(yōu)點(diǎn)之一就是語(yǔ)法簡(jiǎn)潔,好的代碼就像偽代碼一樣,干凈、整潔、一目了然。這篇文章給大家介紹Python 優(yōu)雅編程技巧,感興趣的朋友跟隨小編一起看看吧
    2018-09-09
  • Python自然語(yǔ)言處理庫(kù)之NLTK庫(kù)初級(jí)教程

    Python自然語(yǔ)言處理庫(kù)之NLTK庫(kù)初級(jí)教程

    NLTK(Natural Language Toolkit)是一個(gè)Python庫(kù),用于實(shí)現(xiàn)自然語(yǔ)言處理(NLP)的許多任務(wù),NLTK包括一些有用的工具和資源,如文本語(yǔ)料庫(kù)、詞性標(biāo)注器、語(yǔ)法分析器等,在這篇初級(jí)教程中,我們將了解NLTK的基礎(chǔ)功能,需要的朋友可以參考下
    2023-08-08
  • 在PyCharm中接入和使用Codex的全面指南

    在PyCharm中接入和使用Codex的全面指南

    本指南全面介紹如何在 PyCharm 中接入和使用 Codex——OpenAI 推出的新一代 AI 編程智能體,本文將覆蓋從環(huán)境準(zhǔn)備、安裝配置、驗(yàn)證使用到常見(jiàn)問(wèn)題排查的完整流程,需要的朋友可以參考下
    2026-05-05
  • Django項(xiàng)目創(chuàng)建及管理實(shí)現(xiàn)流程詳解

    Django項(xiàng)目創(chuàng)建及管理實(shí)現(xiàn)流程詳解

    這篇文章主要介紹了Django項(xiàng)目創(chuàng)建及管理實(shí)現(xiàn)流程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • python字符串中兩個(gè)大括號(hào){{}}的使用及說(shuō)明

    python字符串中兩個(gè)大括號(hào){{}}的使用及說(shuō)明

    這篇文章主要介紹了python字符串中兩個(gè)大括號(hào){{}}的使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 使用Python實(shí)現(xiàn)遺傳算法的完整代碼

    使用Python實(shí)現(xiàn)遺傳算法的完整代碼

    這篇文章主要介紹了使用Python實(shí)現(xiàn)遺傳算法,其本質(zhì)是一種高效、并行、全局搜索的方法,自適應(yīng)的控制搜索過(guò)程以求得最優(yōu)解,需要的朋友可以參考下
    2023-03-03

最新評(píng)論

潜山县| 龙口市| 扎赉特旗| 岱山县| 临漳县| 台中市| 团风县| 西贡区| 扎赉特旗| 堆龙德庆县| 温宿县| 常山县| 汝南县| 株洲县| 海丰县| 赤水市| 西青区| 长岭县| 营口市| 友谊县| 平潭县| 绥宁县| 纳雍县| 西峡县| 福清市| 凉城县| 玉屏| 六枝特区| 红原县| 齐河县| 阿鲁科尔沁旗| 广东省| 嵊州市| 台东市| 海南省| 大田县| 疏勒县| 九江县| 大石桥市| 寻甸| 贺州市|