外部ライブラリ不要
標準JDKのみでコンパイルおよび実行できます。特定のOSや外部描画ライブラリには依存しません。
ヘッダなしBig-endian Float32ラスタを読み、JPEGまたはPNG画像を出力します。外部ライブラリを必要とせず、標準JDKのみでコンパイルおよび実行できます。

Tmapは、AMATERASSの計算過程およびデータプロダクトを画像として確認するために開発された描画プログラムです。ヘッダなしFloat32ラスタを読み込み、緯度経度、カラーバー、単位および海岸線を付加したクイックルック画像を出力します。
標準JDKのみでコンパイルおよび実行できます。特定のOSや外部描画ライブラリには依存しません。
格子寸法とアスペクト比に基づき、地図、文字、カラーバー、余白および目盛ラベルを自動調整します。
GSHHGから対象領域の海岸線ラスタを生成して保存し、同一条件の描画時に再利用します。
配布アーカイブには、Tmapのソースコード、GSHHG 2.3.7、補助ツールおよびライセンス文書が含まれます。
展開後、Tmapのディレクトリで javac *.java を実行してください。
tar xzf tmap_v3.0cc_20260815d.tar.gz cd tmap javac *.java
bzip2 -d 201605190300.dwn.sw.flx.sfc.fld.4km.bin.bz2
java tmap 201605190300.dwn.sw.flx.sfc.fld.4km.bin 1400 0 7 1 auto jpg 60 120 6 85 120 6
出力ファイル: 201605190300.dwn.sw.flx.sfc.fld.4km.bin.jpg
描画範囲: 60N–60S、85E–155W
データ利用条件は、プロダクト・ダウンロードを先に確認してください。サンプルは2016年5月19日03:00 UTCのひまわり8号4 kmデータです。
wget -c ftp://amaterass.cr.chiba-u.ac.jp/quasi-realtime/himawari829/archived/FD/201605/20160519/201605190300.dwn.sw.flx.sfc.fld.4km.bin.bz2 bunzip2 201605190300.dwn.sw.flx.sfc.fld.4km.bin.bz2
curl -O ftp://amaterass.cr.chiba-u.ac.jp/quasi-realtime/himawari829/archived/FD/201605/20160519/201605190300.dwn.sw.flx.sfc.fld.4km.bin.bz2 bunzip2 201605190300.dwn.sw.flx.sfc.fld.4km.bin.bz2
curl.exe -O ftp://amaterass.cr.chiba-u.ac.jp/quasi-realtime/himawari829/archived/FD/201605/20160519/201605190300.dwn.sw.flx.sfc.fld.4km.bin.bz2
ダウンロード後、7-Zipなどのbzip2対応ソフトで展開します。
正方形ラスタでは、ファイルサイズから格子の一辺を自動判定します。非正方形ラスタでは、コマンド末尾に幅と高さを指定します。
java tmap file max min color_div unit coast_color|auto type north lat_span lat_div west lon_span lon_div [side | width height] [coast_width=auto|1..12]
| 引数 | 意味 | 例 |
|---|---|---|
| file | 入力ファイル | sample.bin |
| max / min | カラースケールの最大値と最小値 | 1400 0 |
| color_div | カラースケールの分割数 | 7 |
| unit | 予約番号または任意の文字列 | 1 または W/m^2 |
| coast_color | auto、または黒0から白1までのグレー値 | auto |
| type | 出力形式 | jpg / jpeg / png |
| north / lat_span / lat_div | 北端、緯度範囲、緯度目盛の分割数 | 60 120 6 |
| west / lon_span / lon_div | 西端(東経)、経度範囲、経度目盛の分割数 | 85 120 6 |
| side | 正方格子の一辺。省略時はファイルサイズから自動判定 | 3000 |
| width height | 非正方形格子の幅と高さ | 3000 1000 |
| coast_width | 海岸線幅。auto または1〜12 px | coast_width=3 |
Data type: IEEE 754 Float32 Byte order: big-endian Layout: headerless, row-major
正方形ラスタでは、ファイルサイズから一辺を自動判定します。非正方形ラスタでは、コマンド末尾に width height を追加してください。
java tmap ... 4500 2000
旧版で3000×3000格子に合わせて設定していた描画寸法を、入力面積、アスペクト比および実際の文字幅に基づいて自動決定します。16×16から12000×12000までの格子と、横長および縦長の領域で動作を確認しています。

-Xmx によるJavaヒープの指定が可能java -Xmx1g tmap ... のようにJavaヒープの上限を指定してください。Tmapは同梱されたGSHHG海岸線データを使用します。必要な海岸線ラスタは cache/coastline/ に作成され、同一条件の描画時に再利用されます。キャッシュディレクトリを削除した場合は、必要に応じて再生成されます。

緯度経度範囲、格子寸法およびGSHHGの版を確認し、適切な詳細度の海岸線をラスタ化します。
GSHHG → projection → raster mask
↓
cache/coastline/...同一条件のキャッシュが存在する場合は、GSHHGを再処理せずPNGを読み込みます。これにより、AMATERASS本体の計算過程で多数の画像を生成する場合にも、海岸線処理の負荷を抑制します。
cache hit → read PNG → draw cache miss → make and save
W/m²およびg/m²では、基準文字と上付き文字のフォントサイズおよび位置を個別に制御します。番号0から10までの予約単位に加えて、任意の単位文字列も指定できます。
| 番号 | 表示 |
|---|---|
| 0 | None |
| 1 | W/m² |
| 2 | μm |
| 3 | K |
| 4 | km |
| 5 | m/s |
| 6 | kW/kWp |
| 7 | deg |
| 8 | hPa |
| 9 | g/m² |
| 10 | % |
unit 引数へ文字列として直接指定できます。Tmap ver.3.0 C²は、旧版の簡潔な構造とクイックルック生成の思想を維持しながら、格子寸法、アスペクト比および地理範囲に対する汎用性を拡張した版です。
3000×3000のAMATERASS格子を高速に可視化し、計算途中の確認と配布用クイックルックの生成に使用。
元の読みやすい構造と運用思想を残し、任意格子、自動レイアウト、全球海岸線およびキャッシュへ拡張。
Tmap本体と同梱する第三者データには、それぞれのライセンスが適用されます。詳細な著作権表示、原ライセンスおよび第三者ソフトウェア告知は配布アーカイブに収録しています。
MIT License
著作権表示およびライセンス表示を保持することを条件として、利用、複製、改変および再配布が認められます。
GSHHG 2.3.7
GNU Lesser General Public License version 3 or later。配布物にはGSHHGの著作権表示およびライセンス文書を同梱しています。