Tmap ver.3.0 C²

Tmap

Float32格子を緯度経度・カラーバー・海岸線付き画像へ変換するマッピングツール

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

Tmapで描画したAMATERASS全域、東アジア、横長および縦長の日射量図
地域切り出し・横長・縦長を同一のTmapで描画
RuntimeJDKのみ
InputFloat32 binary
OutputJPEG / PNG
LicenseMIT License

概要

Tmapは、AMATERASSの計算過程およびデータプロダクトを画像として確認するために開発された描画プログラムです。ヘッダなしFloat32ラスタを読み込み、緯度経度、カラーバー、単位および海岸線を付加したクイックルック画像を出力します。

01

外部ライブラリ不要

標準JDKのみでコンパイルおよび実行できます。特定のOSや外部描画ライブラリには依存しません。

02

任意格子への対応

格子寸法とアスペクト比に基づき、地図、文字、カラーバー、余白および目盛ラベルを自動調整します。

03

海岸線キャッシュ

GSHHGから対象領域の海岸線ラスタを生成して保存し、同一条件の描画時に再利用します。

Float32格子ヘッダなし・Big-endian・行優先
自動レイアウトサイズ、余白、フォント、ラベル間引き
海岸線GSHHGを地理範囲へ投影しキャッシュ
画像JPEGまたはPNGとして保存

ダウンロードおよび実行方法

配布アーカイブには、Tmapのソースコード、GSHHG 2.3.7、補助ツールおよびライセンス文書が含まれます。

Tmap ver.3.0 C² — 2026-08-15d

展開後、Tmapのディレクトリで javac *.java を実行してください。

SHA-256: 7cf7a99b44ca2f111f6efeede875c3670294d6a6d8340d33dd7af9be2a3ee193
tar.gzをダウンロード
1

展開・コンパイル

tar xzf tmap_v3.0cc_20260815d.tar.gz
cd tmap
javac *.java
2

サンプルデータを展開

bzip2 -d 201605190300.dwn.sw.flx.sfc.fld.4km.bin.bz2
3

描画

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

1. サンプルデータをダウンロード

データ利用条件は、プロダクト・ダウンロードを先に確認してください。サンプルは2016年5月19日03:00 UTCのひまわり8号4 kmデータです。

Ubuntu

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

Fedora

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

Windows 10 / 11

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_colorauto、または黒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 pxcoast_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までの格子と、横長および縦長の領域で動作を確認しています。

48×16の全球格子、2250×900の横長格子および600×2250の縦長格子をTmapで描画した例
上段左:48×16の疑似全球格子(60N–60S、地図本体3:1)。下段左:2250×900の横長格子。右:600×2250の縦長格子。

レイアウト調整

  • 長辺基準で地図を正規化し、入力格子のアスペクト比を維持
  • 描画面積に応じてフォントサイズと線幅を調整
  • FontMetricsで文字幅を計測し、必要な余白を算出
  • 目盛ラベルが重なる場合は、ラベルを間引いて可読性を維持
  • カラーバー、単位表示および余白の比率は旧版の構成を継承

拡大および縮小

  • 縮小時は既存のサンプリング規則を維持
  • 拡大時は各格子セルを均等な矩形として描画
  • 海岸線色は背景とのコントラストに基づいて自動選択
  • 線幅は出力面積から自動決定し、引数による指定も可能
  • 大規模格子では -Xmx によるJavaヒープの指定が可能
大規模ラスタ: メモリが不足する場合は、java -Xmx1g tmap ... のようにJavaヒープの上限を指定してください。

海岸線ラスタの生成およびキャッシュ

Tmapは同梱されたGSHHG海岸線データを使用します。必要な海岸線ラスタは cache/coastline/ に作成され、同一条件の描画時に再利用されます。キャッシュディレクトリを削除した場合は、必要に応じて再生成されます。

500×500格子からTmapで新規描画した日本周辺の海岸線
500×500格子、48N–28N・130E–150E。地理範囲に応じてGSHHGの詳細度を自動選択し、海岸線ラスタを新規生成します。

初回描画

緯度経度範囲、格子寸法および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までの予約単位に加えて、任意の単位文字列も指定できます。

番号表示
0None
1W/m²
2μm
3K
4km
5m/s
6kW/kWp
7deg
8hPa
9g/m²
10%
予約番号にない単位は、unit 引数へ文字列として直接指定できます。

開発の経緯

Tmap ver.3.0 C²は、旧版の簡潔な構造とクイックルック生成の思想を維持しながら、格子寸法、アスペクト比および地理範囲に対する汎用性を拡張した版です。

2007

Original Tmap

3000×3000のAMATERASS格子を高速に可視化し、計算途中の確認と配布用クイックルックの生成に使用。

2026

Tmap ver.3.0 C²

元の読みやすい構造と運用思想を残し、任意格子、自動レイアウト、全球海岸線およびキャッシュへ拡張。

ライセンス

Tmap本体と同梱する第三者データには、それぞれのライセンスが適用されます。詳細な著作権表示、原ライセンスおよび第三者ソフトウェア告知は配布アーカイブに収録しています。

Tmap本体

MIT License

著作権表示およびライセンス表示を保持することを条件として、利用、複製、改変および再配布が認められます。

同梱海岸線データ

GSHHG 2.3.7

GNU Lesser General Public License version 3 or later。配布物にはGSHHGの著作権表示およびライセンス文書を同梱しています。