成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

基于Python的Grib數據可視化

大數據 數據可視化 后端
利用Python語言實現Grib數據可視化主要依靠三個庫——pygrib、numpy和matplotlib。pygrib是歐洲中期天氣預報中心的GRIG API C庫的Python接口,通過這個庫可以將Grib數據讀取出來;numpy是Python的一種開源的數值計算擴展,這種工具可用來存儲和處理大型矩陣;matplotlib是python著名的繪圖庫,十分適合交互式地進行制圖。

[[208134]]

利用Python語言實現Grib數據可視化主要依靠三個庫——pygrib、numpy和matplotlib。pygrib是歐洲中期天氣預報中心(ECMWF)的GRIG API C庫的Python接口,通過這個庫可以將Grib數據讀取出來;numpy是Python的一種開源的數值計算擴展,這種工具可用來存儲和處理大型矩陣;matplotlib是python著名的繪圖庫,它提供了一整套和matlab相似的命令API,十分適合交互式地進行制圖;在數據可視化過程中,我們常需要將數據在地圖上畫出來,所以還需要matplotlib的一個子包basemap,負責地圖繪制。

一、庫的安裝

(一)matplotlib安裝

  • matplotlib依賴
    • nose
    • numpy
    • pyparsing
    • python-dateutil
    • cycler
    • pkg-config
    • freetype
    • libpng
  • 安裝過程

這里我都是通過源碼包安裝的,大家也可以再終端里通過pip install 命令來安裝

1、安裝nose

解壓縮后,進入命令提示符 運行 

  1. python3 setup.py install 

2、安裝numpy

解壓縮后,進入命令提示符 運行

  1. python3 setup.py install 

3、安裝pyparsing

解壓縮后,進入命令提示符 運行

  1. python3 setup.py install 

4、安裝python-dateutil

解壓縮后,進入命令提示符 運行

  1. python3 setup.py install 

5、安裝cycler

解壓縮后,進入命令提示符 運行

  1. python3 setup.py install 

6、安裝pkg-config

  1. ./configure --with-intermal-glib 
  2.  
  3. make && date 
  4.  
  5. sudo make install && date  

7、安裝freetype

  1. ./configure 
  2.  
  3. make && date 
  4.  
  5. sudo make install && date  

8、安裝libpng

  1. ./configure 
  2.  
  3. make && date 
  4.  
  5. sudo make install && date  

9、安裝matplotlib-1.5.0

解壓縮后,進入命令提示符 運行

  1. python3 setup.py install 

(二)basemap安裝

  • basemap依賴
    • geos
    • pyproj
  • 安裝過程

1、安裝GEOS

  1. ./configure 
  2.  
  3. make && date 
  4.  
  5. sudo make install && date  

2、安裝pyproj

  1. python3 setup.py install 

3、安裝basemap

  1. python3 setup.py install 

(三)pygrib安裝

  • pygrib依賴
    • Jasper
    • GRIB API
    • numpy
    • pyproj
  • 安裝過程

由于之前已經安裝了numpy和pyproj,這里只需安裝Jasper和GRIB API即可安裝pygrib

1、安裝Jasper

  1. ./configure 
  2.  
  3. make && date 
  4.  
  5. sudo make install && date  

2、安裝GRIB API

  1. ./configure --with-jasper='/usr/local/' 
  2.  
  3. make && date 
  4.  
  5. sudo make install && date  

3、安裝pygrib

安裝pygrib之前首先要根據自己的實際情況修改文件目錄下的setup.cfg文件,最主要的就是修改grib_api_dir和jasper_dir,這兩個是剛剛安裝的Jasper和GRIB API的路徑,如果這兩個地址不正確安裝會報錯

修改好就可以正常安裝了

  1. python3 setup.py install 

二、grib數據讀取

雖然我做的東西和氣象沾邊,但是我本身并不是氣象專業出身,所有這些東西都是我慢慢研究琢磨出來的,所以有些方面可能講的比較外行,有不對的地方歡迎大家留言指正。

(一)導入pygrib模塊

  1. >>> import pygrib 

(二)打開Grib文件

  1. >>> grbs = pygrib.open('/Users/Kallan/Documents/data/echhae50.082'

(三)提取文件信息

  1. >>> grbs.seek(0) 
  2.  
  3. >>> for grb in grbs: 
  4.  
  5. grb 
  6.  
  7. 1:Geopotential Height:gpm (instant):regular_ll:isobaricInhPa:level 500:fcst time 24 :from 201507081200  

信息解讀

1 :數據列表的行號,有的文件可能包括多個數據

Geopotential Height:數據的名稱

gpm (instant):數據的單位

regular_ll:常規數據,其實這個字段我也不清楚

isobaricInhPa:這個字段表示的是數據屬性,此處表示是以hPa為單位的等壓面

level 500:這個字段表示的是高度層

fcst time 24 :預報時效

from 201507081200 :起報時間

綜合上面的信息可以得出,這個文件是從2015年7月8日12時開始的24小時后500hPa等壓面高度場數據

(四)導出文件數據

  1. >>> grb = grbs.select(name='Geopotential Height')[0] 
  2.  
  3. >>> data = grb.values 
  4.  
  5. >>> print(data.shape,data.min(),data.max()) 
  6.  
  7. (37, 37) 5368.6796875 5941.0390625 
  8.  
  9. >>> lat,lon=grb.latlons() 
  10.  
  11. >>> print(lat,'\n',lon) 
  12.  
  13. [[ 0. 0. 0. ..., 0. 0. 0. ] 
  14.  
  15. [ 2.5 2.5 2.5 ..., 2.5 2.5 2.5] 
  16.  
  17. [ 5. 5. 5. ..., 5. 5. 5. ] 
  18.  
  19. ..., 
  20.  
  21. [ 85. 85. 85. ..., 85. 85. 85. ] 
  22.  
  23. [ 87.5 87.5 87.5 ..., 87.5 87.5 87.5] 
  24.  
  25. [ 90. 90. 90. ..., 90. 90. 90. ]] 
  26.  
  27. [[-90. -87.5 -85. ..., -5. -2.5 0. ] 
  28.  
  29. [-90. -87.5 -85. ..., -5. -2.5 0. ] 
  30.  
  31. [-90. -87.5 -85. ..., -5. -2.5 0. ] 
  32.  
  33. ..., 
  34.  
  35. [-90. -87.5 -85. ..., -5. -2.5 0. ] 
  36.  
  37. [-90. -87.5 -85. ..., -5. -2.5 0. ] 
  38.  
  39. [-90. -87.5 -85. ..., -5. -2.5 0. ]]  

三、grib數據可視化

(一)導入需要的模塊

  1. >>> import matplotlib.pyplot as plt 
  2.  
  3. >>> from mpl_toolkits.basemap import Basemap 
  4.  
  5. >>> import numpy as np  

(二)創建一個figure

  1. >>> plt.figure() 
  2.  
  3. <matplotlib.figure.Figure object at 0x107e65198>  

(三)創建一個basemap實例

  1. >>> m=Basemap(projection='mill',lat_ts=10,llcrnrlon=lon.min(), \ 
  2.  
  3. urcrnrlon=lon.max(),llcrnrlat=lat.min(),urcrnrlat=lat.max(), \ 
  4.  
  5. resolution='c'
  6.  
  7. >>> m.drawcoastlines(linewidth=0.25) 
  8.  
  9. <matplotlib.collections.LineCollection object at 0x1091c1f28> 
  10.  
  11. >>> m.drawcountries(linewidth=0.25) 
  12.  
  13. <matplotlib.collections.LineCollection object at 0x10621d0f0> 
  14.  
  15. >>> m.fillcontinents(color='coral',lake_color='aqua'
  16.  
  17. >>> m.drawmapboundary(fill_color='aqua'
  18.  
  19. <matplotlib.patches.Rectangle object at 0x10918b3c8> 
  20.  
  21. >>> m.drawmeridians(np.arange(0,360,30)) 
  22.  
  23. >>> m.drawparallels(np.arange(-90,90,30))  

(四)將lat,lon的數據格式轉換成投影需要的格式存入x,y

  1. >>> x, y = m(lon,lat) 

(五)繪制等值線

  1. >>> cs = m.contour(x,y,data,15,linewidths=1.5) 

(六)命名并顯示圖像

  1. >>> plt.title('Geopotential Height Contour from Grib'
  2.  
  3. <matplotlib.text.Text object at 0x10918bda0> 
  4.  
  5. >>> plt.show()  

(七)圖像展示

 

責任編輯:龐桂玉 來源: 36大數據
相關推薦

2020-03-11 14:39:26

數據可視化地圖可視化地理信息

2023-04-04 08:10:45

SQL數據可視化

2017-10-14 13:54:26

數據可視化數據信息可視化

2015-10-29 09:36:48

2022-08-26 09:15:58

Python可視化plotly

2020-05-26 11:34:46

可視化WordCloud

2022-02-23 09:50:52

PythonEchartspyecharts

2023-12-14 09:00:00

數據可視化Python數據集

2017-06-29 11:26:08

Python數據可視化

2020-09-02 13:56:03

Python可視化數據

2023-04-17 07:32:41

2017-02-23 09:42:53

大數據數據可視化技術誤區

2018-11-30 10:28:44

Python反爬網頁

2024-08-20 18:16:49

數據可視化Python

2021-08-30 11:40:06

PythonSeaborn可視化

2022-07-05 15:11:42

Python數據可視化機器學習

2015-08-20 10:00:45

可視化

2017-07-18 15:15:57

數據可視化細節層次分析

2014-05-28 14:49:22

Excel數據可視化

2020-08-04 13:40:02

數據可視化熱力圖表格
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产高清视频在线观看播放 | 亚洲精品资源 | 久久免费精品视频 | 欧美日韩一区二区在线观看 | 亚洲精品乱 | 午夜丰满少妇一级毛片 | 日本成人在线播放 | 国产电影一区二区 | 九九热在线免费视频 | 中文字幕乱码视频32 | 91视频大全 | 国产盗摄视频 | 久久av网站 | 91精品国产综合久久香蕉922 | 91精品国产色综合久久不卡98口 | 日韩精品一区二区三区在线播放 | 日韩国产中文字幕 | 91精品国产综合久久精品 | 中文字幕视频在线免费 | 国产精品不卡视频 | 欧美黄 片免费观看 | 久久综合久色欧美综合狠狠 | 亚洲电影免费 | 操久久久| 在线视频第一页 | 美女视频h| 成人a视频片观看免费 | 91不卡| 天天色图 | 久久伊人久久 | 91视频大全 | 日韩精品一区二区三区在线观看 | 国产网站在线免费观看 | 国产精品视频一区二区三区 | 在线欧美亚洲 | 91av在线视频观看 | 免费在线a视频 | 国产精品无 | 四虎影院在线观看av | 久久免费小视频 | 玖玖玖在线 |