天気図をgribファイルから作る方法
Basemapを使えば簡単に作成できるみたいです。
私は、dataの形式がいまいち分からなくて、理解するのに時間がかかりました。
データはgrib2のデータを気象予報センターとかから取得します。
import pygrib
# ファイルを読み込む
grbs = pygrib.open(f"Z__C_RJTD_20171205000000_GSM_GPV_Rgl_FD0006_grib2.bin")
grb = grbs.message(1)
# 日本付近の緯度経度を設定する
lat_min = 28
lat_max = 50
lon_min = 125
lon_max = 150
# ここでデータの取得範囲を設定する
# 指定しなかった場合は、世界地図になる
value, lat, lon = grb.data(lat1=lat_min,
lat2=lat_max,
lon1=lon_min,
lon2=lon_max)
# Basemapにも描画範囲を指定する
map = Basemap(llcrnrlat=lat_min,
urcrnrlat=lat_max,
llcrnrlon=lon_min,
urcrnrlon=lon_max)
# Basemapのレンダリング座標に変換する
# map(lat, lon)ではなく、map(lon, lat)にするみたいです
x, y = map(lon, lat)
# 海岸の線を引く (コメントアウトすると、意味がわかると思います)
map.drawcoastlines()
# カラーで描画する (contourfならカラーでcontourなら線になる)
map.contourf(x, y, value)