JGribは GRIBファイルを読んでデコードするjavaライブラリです。
このライブラリはいくつかのパラメータの表に対応しています。
このプロジェクトはsourceforgeに格納されてます。
このライブラリを作った人は Benjamin StarkさんとUniversität Osnabrückさんです。
group_id=49460
http://sourceforge.net/projects/jgrib/
おもな使い方は、GribFile?クラスを使って GRIBのデータにアクセスする使い方です。
GRIBを開いたとき, ファイルの内容を部分的にデコードします。その部分はIS, GDS, PDS セクションです。 そしてまだデコードしていない残りのデータは、このクラスを使ってまとめられます。
このクラスは、ファイルの内容を問い合わせることができ、そして、GribRecord? クラスを使って、ファイルの内容を取得できます。
このクラスを使って取得できるのは gridCoords, type, time, unit そして level です。
サンプルのコードはexamplesフォルダの jgrib_src.jar ファイルに入っています。
このライブラリはいくつかのgrib表を扱います。
try { GribFile grb = new GribFile("path/to/file.grb"); } catch (FileNotFoundException noFileError) { System.err.println("FileNotFoundException : " + noFileError); } catch (IOException ioError) { System.err.println("IOException : " + ioError); } catch (NoValidGribException noGrib) { System.err.println("NoValidGribException : " + noGrib); } catch (NotSupportedException noSupport) { System.err.println("NotSupportedException : " + noSupport); }
jgrib_src.jarをjgrib_src.zipに名前を変えて解凍して、中にあるサンプルコードを見てみます。
コマンドラインからgribファイルを指定して内容をダンプするサンプル
AFWAが提供しているgribファイルの各要素にアクセスするサンプル
Log4Jの設定方法のサンプル
GribTabPath?を設定するサンプル
JGRIB は Log4J をつかってデバックします。
なので、インストールするときにLog4Jをクラスパスに入れておく必要があったのです。
もし Log4J の設定ができないならば、JGRIB はそっとログを出さないようになります。
JGRIB が、内部で使用するのは Level.DEBUG です。
なので、もしデバックを入れないならば、何もメッセージを得ることができません。
このライブラリはGRIB標準で定義された、いろいろなプロジェクションをサポートしますが、限界があります。なぜかというと、仕様変更が勝手に行われないとは言い切れないからです。
いまのところ、下記をサポートしています。
GribRecordGDSオブジェクトはGribGDSFactoryを使用してインスタンスを生成します。
JGRIB は wgribの作者で有名な Wesley 戎崎さん が作った、標準に従っています。
1つのテーブルだけなんですが、wgribみたいに、いくつかの表は下記のものを含んでいます。
JAVAのシステムプロパティー"GribTabURL"を指定することで拡張できます。
// Set gribtab property to JGRIB library File gribTab = new File("gribTabPath"); System.setProperty("GribTabURL",gribTab.toURL().toString());