亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python如何繪制登陸時(shí)的衛(wèi)星云圖(TBB)

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

根據(jù)前面的文章python處理衛(wèi)星云圖獲取亮溫值可以從hdf文件中獲取某時(shí)刻某經(jīng)緯度的亮溫值。

然后就是把這些讀取的亮溫值可視化,繪制成TBB的衛(wèi)星云圖。

先展示一下結(jié)果:

1.讀取hdf文件

詳見上篇文章,這里不再贅述,再貼一下代碼。

主要是從全圓盤標(biāo)對(duì)稱文件經(jīng)緯度對(duì)照表獲取經(jīng)緯度和從hdf文件中獲取亮溫值。

# 從全圓盤標(biāo)對(duì)稱文件經(jīng)緯度對(duì)照表獲取經(jīng)緯度
def getLatLonFromdat():
    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]
    return lon, lat
# 從hdf文件中獲取亮溫值
def getTBBFromhdf():
    hdfFile = h5py.File('F:/IR/Satellite_Imagery/IR_data/利奇馬/FY2G_FDI_ALL_NOM_20190811_1200.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']
    # 查看衛(wèi)星的經(jīng)緯度
    lat_hdf = infoh[0][3]
    lon_hdf = infoh[0][4]
    # print(lat_hdf)
    # print(lon_hdf)
    hw = hw1[()]
    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]
    tb = tb.T
    return tb

2. 畫圖

fig = plt.figure(figsize=(8, 6))
m = Basemap(projection='cyl', llcrnrlat=10, llcrnrlon=110, urcrnrlat=40,  urcrnrlon=140)  # 使用Basemap繪制地圖,這里可以讀取對(duì)應(yīng)的地圖shp文件。
m.drawcoastlines(color='black')
m.drawstates(color='black')
m.drawcountries(color='black')
x, y = m(lon, lat)  # 將lats / lons轉(zhuǎn)換為地圖投影坐標(biāo)
# 繪制輪廓圖
# 這里data就是計(jì)算的亮溫值,x,y就是經(jīng)緯度投影的坐標(biāo)
cf = m.contourf(x, y, data, levels=np.linspace(180, 301, 400), cmap='jet')
cbar = m.colorbar(cf, location='right', size='5%', pad='2%')
font = {'family': 'serif',
        'color': 'darkred',
        'weight': 'normal',
        'size': 16,
        }
cbar.set_label('Brightness Temperature ( K )', fontdict=font)
m.drawmeridians(np.arange(110, 140, 5), labels=[0, 0, 0, 1])
m.drawparallels(np.arange(10, 40, 5), labels=[1, 0, 0, 0])
# 將最佳路徑集上的經(jīng)緯度映射到地圖上,再把該點(diǎn)繪制在地圖上
best_lon, best_lat = m(best_lon, best_lat)
m.plot(best_lon, best_lat, 'o', color='fuchsia', ms=5)
plt.xticks(fontsize=20)
plt.yticks(fontsize=20)
plt.title('Brightness Temperature(2019081112) ', fontdict=font)
plt.savefig('test.png')
plt.show()

注:讀取地圖文件時(shí),可以使用readshapefile函數(shù)。

以2019081112時(shí)刻為例,對(duì)應(yīng)地圖10-40,110-140的區(qū)域,讀取對(duì)應(yīng)的hdf文件,繪制該點(diǎn)的衛(wèi)星云圖的亮溫值。

總結(jié)

這是找了好久,調(diào)整過的結(jié)果。

以上僅為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用PyTorch實(shí)現(xiàn)限制GPU顯存的可使用上限

    使用PyTorch實(shí)現(xiàn)限制GPU顯存的可使用上限

    從?PyTorch?1.4?版本開始,引入了一個(gè)新的功能,可以允許用戶為特定的?GPU?設(shè)備設(shè)置進(jìn)程可使用的顯存上限比例,下面我們就來看看具體實(shí)現(xiàn)方法吧
    2024-03-03
  • python scrapy腳本報(bào)錯(cuò)問題及解決

    python scrapy腳本報(bào)錯(cuò)問題及解決

    這篇文章主要介紹了python scrapy腳本報(bào)錯(cuò)問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Python繪制3D曲面圖的示例代碼

    Python繪制3D曲面圖的示例代碼

    Python提供了多種庫和工具,使得創(chuàng)建和定制3D曲面圖變得簡(jiǎn)單,本文將介紹如何使用Matplotlib和mpl_toolkits.mplot3d庫繪制3D曲面圖,感興趣的可以了解下
    2024-04-04
  • Python判斷和循環(huán)語句的分析與應(yīng)用

    Python判斷和循環(huán)語句的分析與應(yīng)用

    判斷語句是用來篩選條件,過濾條件的。循環(huán)語句是用來解決重復(fù)性代碼的問題,提高工作效率。今天的知識(shí)點(diǎn)不多,耐心看完吧
    2022-07-07
  • python虛擬環(huán)境多種創(chuàng)建方式圖文詳解

    python虛擬環(huán)境多種創(chuàng)建方式圖文詳解

    創(chuàng)建虛擬環(huán)境是為了讓項(xiàng)目運(yùn)行在一個(gè)獨(dú)立的局部的Python環(huán)境中,使得不同環(huán)境的項(xiàng)目互不干擾,這篇文章主要給大家介紹了關(guān)于python虛擬環(huán)境多種創(chuàng)建方式的相關(guān)資料,需要的朋友可以參考下
    2024-08-08
  • pyinstaller執(zhí)行報(bào)錯(cuò)的問題解決

    pyinstaller執(zhí)行報(bào)錯(cuò)的問題解決

    有時(shí)候,PyInstaller可能無法正確識(shí)別和打包所有的依賴項(xiàng),導(dǎo)致名稱錯(cuò)誤,本文主要介紹了pyinstaller執(zhí)行報(bào)錯(cuò)的解決方案,感興趣的可以了解一下
    2023-11-11
  • Python使用scipy模塊實(shí)現(xiàn)一維卷積運(yùn)算示例

    Python使用scipy模塊實(shí)現(xiàn)一維卷積運(yùn)算示例

    這篇文章主要介紹了Python使用scipy模塊實(shí)現(xiàn)一維卷積運(yùn)算,結(jié)合實(shí)例形式分析了scipy模塊的功能及使用scipy模塊進(jìn)行一維卷積運(yùn)算的相關(guān)操作技巧,需要的朋友可以參考下
    2019-09-09
  • python中upper是做什么用的

    python中upper是做什么用的

    在本篇文章里小編給大家整理的是一篇關(guān)于python中upper的作用的相關(guān)文章,有需要的朋友們可以參考下。
    2020-07-07
  • 基于Python實(shí)現(xiàn)人臉識(shí)別和焦點(diǎn)人物檢測(cè)功能

    基于Python實(shí)現(xiàn)人臉識(shí)別和焦點(diǎn)人物檢測(cè)功能

    基于dlib庫的模型,實(shí)現(xiàn)人臉識(shí)別和焦點(diǎn)人物的檢測(cè)。最后呈現(xiàn)的效果為焦點(diǎn)人物的識(shí)別框顏色與其他人物框不一樣。對(duì)Python人臉識(shí)別和焦點(diǎn)人物檢測(cè)設(shè)計(jì)過程感興趣的朋友一起看看吧
    2021-10-10
  • anaconda3:conda not found報(bào)錯(cuò)問題解決

    anaconda3:conda not found報(bào)錯(cuò)問題解決

    這篇文章主要給大家介紹了關(guān)于anaconda3:conda not found報(bào)錯(cuò)問題解決的相關(guān)資料,Anaconda指的是一個(gè)開源的Python發(fā)行版本,其包含了conda、Python等180多個(gè)科學(xué)包及其依賴項(xiàng),需要的朋友可以參考下
    2023-10-10

最新評(píng)論