PythonベースのGribデータの可視化
6291 ワード
作者:kallan
Python言語によるGribデータの可視化は、pygrib、numpy、matplotlibの3つのライブラリに依存します.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のインストール
解凍後、コマンドプロンプトで実行
2、numpyのインストール
解凍後、コマンドプロンプトで実行
3、pyparsingのインストール
解凍後、コマンドプロンプトで実行
4、python-dateutilのインストール
解凍後、コマンドプロンプトで実行
5、cyclerのインストール
解凍後、コマンドプロンプトで実行
6、pkg-configを取り付ける
7、freetypeを取り付ける
8、libpngのインストール
9、matplotlib-1.5.0をインストールする
解凍後、コマンドプロンプトで実行
(二)basemapインストール basemap依存 geos pyproj
インストールプロセス 1、GEOSをインストールする
2、pyprojのインストール
3、basemapのインストール
(三)pygribインストール pygrib依存 Jasper GRIB API numpy pyproj
インストールプロセス numpyとpyprojは既にインストールされているため、ここではJasperとGRIB APIをインストールするだけでpygribをインストールできます.
1、Jasperを取り付ける
2.GRIB APIのインストール
3、pygribのインストール
pygribをインストールする前に、まず自分の実情に基づいてファイルディレクトリのsetupを変更します.cfgファイル、最も主要なのはgrib_を修正することですapi_dirとjasper_dir、この2つはインストールしたばかりのJasperとGRIB APIのパスで、この2つのアドレスが正しくインストールされていないとエラーが発生します.
修正すれば正常にインストールできます
二、gribデータ読み出し
私が作ったものは気象と縁があるが、私自身は気象専門出身ではなく、これらのものはすべて私がゆっくり研究して考えたものなので、一部の面では素人かもしれないが、間違っているところは皆さんの伝言を歓迎します.
(一)pygribモジュールのインポート
(二)Gribファイルを開く
(三)ファイル情報の抽出
情報解読
1:複数のデータを含むファイルの行番号
Geopotential Height:データの名前
gpm(instant):データの単位
regular_ll:通常のデータですが、実はこのフィールドもよくわかりません.
isobaricInhPa:このフィールドはデータ属性を表し、ここではhPa単位の等圧面を表す
レベル500:このフィールドは高さレイヤを表しています
fcst time 24:予報時効
from 201507081200:報告開始時間
以上の情報を総合すると,この文書は2015年7月8日12時からの24時間後500 hPa等圧面高さ場データである
(四)ファイルデータのエクスポート
三、gribデータの可視化
(一)必要なモジュールのインポート
(二)figureを作成する
(3)basemapインスタンスの作成
(四)lat,lonのデータフォーマットを投影に必要なフォーマットに変換してx,yに格納する
(五)等値線を描く
(六)画像の名前と表示
(七)画像展示
End.
転載は36ビッグデータ(36 dsj.com):36ビッグデータ»PythonベースGribデータ可視化
Python言語によるGribデータの可視化は、pygrib、numpy、matplotlibの3つのライブラリに依存します.pygribはヨーロッパ中期天気予報センター(ECMWF)のGRIG API CライブラリのPythonインタフェースであり、このライブラリを通じてGribデータを読み取ることができる.numpyはPythonのオープンソースの数値計算拡張であり、このツールは大型マトリクスを格納し、処理するために使用することができる.matplotlibはpythonの有名なグラフィックライブラリで、matlabに似たコマンドAPIのセットを提供し、インタラクティブに製図するのに適しています.データの可視化の過程で、私たちはよくデータを地図に描く必要があるので、matplotlibのサブパッケージbasemapが必要で、地図の描画を担当します.
一、ライブラリのインストール
(一)matplotlibインストール
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 make && date
3 sudo make install && date
7、freetypeを取り付ける
1 ./configure
2 make && date
3 sudo make install && date
8、libpngのインストール
1 ./configure
2 make && date
3 sudo make install && date
9、matplotlib-1.5.0をインストールする
解凍後、コマンドプロンプトで実行
1 python3 setup.py install
(二)basemapインストール
1 ./configure
2 make && date
3 sudo make install && date
2、pyprojのインストール
1 python3 setup.py install
3、basemapのインストール
1 python3 setup.py install
(三)pygribインストール
1、Jasperを取り付ける
1 ./configure
2 make && date
3 sudo make install && date
2.GRIB APIのインストール
1 ./configure --with-jasper='/usr/local/'
2 make && date
3 sudo make install && date
3、pygribのインストール
pygribをインストールする前に、まず自分の実情に基づいてファイルディレクトリのsetupを変更します.cfgファイル、最も主要なのはgrib_を修正することですapi_dirとjasper_dir、この2つはインストールしたばかりのJasperとGRIB APIのパスで、この2つのアドレスが正しくインストールされていないとエラーが発生します.
修正すれば正常にインストールできます
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 >>> for grb in grbs:
3 grb
4 1:Geopotential Height:gpm (instant):regular_ll:isobaricInhPa:level 500:fcst time 24 :from 201507081200
情報解読
1:複数のデータを含むファイルの行番号
Geopotential Height:データの名前
gpm(instant):データの単位
regular_ll:通常のデータですが、実はこのフィールドもよくわかりません.
isobaricInhPa:このフィールドはデータ属性を表し、ここではhPa単位の等圧面を表す
レベル500:このフィールドは高さレイヤを表しています
fcst time 24:予報時効
from 201507081200:報告開始時間
以上の情報を総合すると,この文書は2015年7月8日12時からの24時間後500 hPa等圧面高さ場データである
(四)ファイルデータのエクスポート
1 >>> grb = grbs.select(name='Geopotential Height')[0]
2 >>> data = grb.values
3 >>> print(data.shape,data.min(),data.max())
4 (37, 37) 5368.6796875 5941.0390625
5 >>> lat,lon=grb.latlons()
6 >>> print(lat,'
',lon)
7 [[ 0. 0. 0. ..., 0. 0. 0. ]
8 [ 2.5 2.5 2.5 ..., 2.5 2.5 2.5]
9 [ 5. 5. 5. ..., 5. 5. 5. ]
10 ...,
11 [ 85. 85. 85. ..., 85. 85. 85. ]
12 [ 87.5 87.5 87.5 ..., 87.5 87.5 87.5]
13 [ 90. 90. 90. ..., 90. 90. 90. ]]
14 [[-90. -87.5 -85. ..., -5. -2.5 0. ]
15 [-90. -87.5 -85. ..., -5. -2.5 0. ]
16 [-90. -87.5 -85. ..., -5. -2.5 0. ]
17 ...,
18 [-90. -87.5 -85. ..., -5. -2.5 0. ]
19 [-90. -87.5 -85. ..., -5. -2.5 0. ]
20 [-90. -87.5 -85. ..., -5. -2.5 0. ]]
三、gribデータの可視化
(一)必要なモジュールのインポート
1 >>> import matplotlib.pyplot as plt
2 >>> from mpl_toolkits.basemap import Basemap
3 >>> import numpy as np
(二)figureを作成する
1 >>> plt.figure()
2
(3)basemapインスタンスの作成
1 >>> m=Basemap(projection='mill',lat_ts=10,llcrnrlon=lon.min(), \
2 urcrnrlon=lon.max(),llcrnrlat=lat.min(),urcrnrlat=lat.max(), \
3 resolution='c')
4 >>> m.drawcoastlines(linewidth=0.25)
5
6 >>> m.drawcountries(linewidth=0.25)
7
8 >>> m.fillcontinents(color='coral',lake_color='aqua')
9 >>> m.drawmapboundary(fill_color='aqua')
10
11 >>> m.drawmeridians(np.arange(0,360,30))
12 >>> 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 >>> plt.show()
(七)画像展示
End.
転載は36ビッグデータ(36 dsj.com):36ビッグデータ»PythonベースGribデータ可視化