目次

JGRIBとは

JGribは GRIBファイルを読んでデコードするjavaライブラリです。

このライブラリはいくつかのパラメータの表に対応しています。

このプロジェクトはsourceforgeに格納されてます。

このライブラリを作った人は Benjamin StarkさんとUniversität Osnabrückさんです。

URL

http://jgrib.sourceforge.net/

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に名前を変えて解凍して、中にあるサンプルコードを見てみます。

JgribDemo?.java

コマンドラインからgribファイルを指定して内容をダンプするサンプル

JgribDemoAFWA.java

AFWAが提供しているgribファイルの各要素にアクセスするサンプル

SetupLog?.java

Log4Jの設定方法のサンプル

UserSuppliedGribTable?.java

GribTabPath?を設定するサンプル

Log4Jを使ったデバック

JGRIB は Log4J をつかってデバックします。

なので、インストールするときにLog4Jをクラスパスに入れておく必要があったのです。

もし Log4J の設定ができないならば、JGRIB はそっとログを出さないようになります。

JGRIB が、内部で使用するのは Level.DEBUG です。

なので、もしデバックを入れないならば、何もメッセージを得ることができません。

プロジェクション

このライブラリはGRIB標準で定義された、いろいろなプロジェクションをサポートしますが、限界があります。なぜかというと、仕様変更が勝手に行われないとは言い切れないからです。

いまのところ、下記をサポートしています。

GribRecordGDSオブジェクトはGribGDSFactoryを使用してインスタンスを生成します。

GRIBTAB tables:

JGRIB は wgribの作者で有名な Wesley 戎崎さん が作った、標準に従っています。

例外

1つのテーブルだけなんですが、wgribみたいに、いくつかの表は下記のものを含んでいます。

GRIBTABテーブルの拡張方法

JAVAのシステムプロパティー"GribTabURL"を指定することで拡張できます。

サンプルコード

// Set gribtab property to JGRIB library
File gribTab = new File("gribTabPath");
System.setProperty("GribTabURL",gribTab.toURL().toString());
トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-11-06 (水) 11:11:18 (2906d)