
ワールドファイル(.tfw / .jgw)とは — 画像に座標を与える6行の数字と、測地系が書かれていない理由
ただの画像を、地図上の正しい位置に置くための「6行の数字」を書いたテキストファイルです。 空中写真やスキャンした図面のような普通の画像には、位置の情報がありません。そこに「1ピクセルは何メートルか」「左上のピクセルはどこか」を書き添えて、地図に重ねられるようにする。それがワールドファイルです。ただし測地系(座標系)は書かれていません。ここが実務でいちばん詰まるところです。
拡張子は元画像から決まる
ワールドファイルの名前は、元画像と同じ名前・拡張子だけ差し替えです。規則は「拡張子の1文字目 + 最後の1文字 + w」。
| 元画像 | ワールドファイル | 備考 |
|---|---|---|
photo.tif |
photo.tfw |
t + f + w |
photo.jpg |
photo.jgw |
j + g + w |
map.png |
map.pgw |
p + g + w |
old.bmp |
old.bpw |
b + p + w |
| (汎用) | photo.wld |
上の規則の代わりに使える形式 |
つまり photo.jpg と photo.jgw はセットで持ち歩かないと意味がありません。メールで画像だけ送って「位置が合わない」と言われる事故の大半はこれです。
中身は6行の数字だけ
たとえばこんな内容です(平面直角座標系・1ピクセル0.2m の例)。
0.2000000000
0.0000000000
0.0000000000
-0.2000000000
-32500.0000000000
64200.0000000000
各行の意味は次のとおりです。
| 行 | 記号 | 意味 |
|---|---|---|
| 1行目 | A | ピクセル幅の東西成分(回転が無ければ「1ピクセルの横の長さ」) |
| 2行目 | D | ピクセル幅の南北成分(回転・スキュー。通常 0) |
| 3行目 | B | ピクセル高さの東西成分(回転・スキュー。通常 0) |
| 4行目 | E | ピクセル高さの南北成分(通常 0.2 のような値のマイナス) |
| 5行目 | C | 左上ピクセルの中心の x 座標 |
| 6行目 | F | 左上ピクセルの中心の y 座標 |
画像の列・行(col, row)から地図座標を出す式はこうなります。
x = A × col + B × row + C
y = D × col + E × row + F
ここから、実務で効く3つの読み方が出てきます。
① 4行目がマイナスなのは「画像は下へ、地図は上へ」だから
画像は上から下へ行番号が増えます。一方、地図の座標は北へ行くほど増えます。向きが逆なので、4行目は通常マイナスになります。ここをプラスで書くと、画像が上下反転して貼り付きます。
② 5・6行目は「角」ではなく「左上ピクセルの中心」
四隅の座標ではなく、左上ピクセルの中心です。ピクセルの半分(この例なら0.1m)だけ違います。図郭の座標をそのまま5・6行目に入れると、常に半ピクセルずれます。50cm解像度なら25cm。図面照合ではこれが効いてきます。
③ 2・3行目が0でないときは「回転している」
2行目・3行目は「回転角度そのもの」ではなく、ピクセルの向きベクトルの成分です。ここが0でない画像は傾いて貼られます。スキャンした紙図面を傾いたまま合わせ込むと、こうなります。読むときは「0以外=回転あり」とだけ覚えておけば十分です。

いちばんの落とし穴 — 測地系が書かれていない
6行の数字を見て分かるのは「どのくらいの大きさで、どこに置くか」だけです。その数字がどの座標系の値なのかは、どこにも書かれていません。
-32500.064200.0は、平面直角座標系のどれかの系かもしれない139.735.6なら、緯度経度(度)でしょう。でも JGD2011 か JGD2000 か旧日本測地系かは分からない- 数百万の値なら UTM か Web メルカトルかもしれない
この情報を補うのが .prj ファイル(Shapefile と同じ WKT のテキスト)です。GeoTIFF なら画像自体のタグに座標系を埋め込めますが、JPEG や PNG にはその場所がありません。だから「.jgw はあるが .prj が無い」という配布物が、実務では普通に出回ります。
出どころ不明の座標を渡されたときの見分け方は、点データのときと同じです。既知点に重ねてズレ量を見る。旧日本測地系と世界測地系なら数百m級のずれになるので、地図に重ねた瞬間に分かります。

もうひとつの落とし穴 — 測量の X・Y とは並びが逆
日本の測量で使う平面直角座標系は、X が北方向・Y が東方向です。一方、ワールドファイルの5・6行目は、多くの GIS で「東方向, 北方向」の順に解釈されます。つまり 測量成果の (X, Y) をそのまま5・6行目に書き写すと、90度回った位置に落ちます。
| 何の値か | 並び |
|---|---|
| 測量の平面直角座標(告示) | X = 北, Y = 東 |
| ワールドファイル 5行目 / 6行目 | 東方向 / 北方向(= Y, X の順) |
慣れないうちは「5行目に入れるのは Y、6行目に入れるのは X」と読み替えるより、貼ってみて南北が合っているか目視する方が確実です。なお座標軸の扱いはソフトウェアの実装によって差があるため、必ず既知点で確認してください。
使う前のチェックリスト
| 確認 | 見るところ |
|---|---|
| ファイル名が元画像と一致しているか | abc.jpg ⇄ abc.jgw(大文字小文字も) |
| 4行目がマイナスか | 上下反転していないか |
| 1行目と4行目の絶対値が同じか | 違うなら縦横で解像度が違う(意図的なこともある) |
| 2・3行目が0か | 0以外なら回転あり |
| 5・6行目の桁数 | 平面直角なら数万〜十数万、緯度経度なら2〜3桁、UTM/Webメルカトルなら6〜7桁 |
.prj が付いているか |
無ければ測地系は別途確認が必要 |
| 南北が合っているか | 既知点・道路形状に重ねて目視 |
まとめ
- ワールドファイルは、画像に位置と大きさを与える6行のテキスト。拡張子は元画像から機械的に決まる
- 5・6行目は左上ピクセルの「中心」。角ではないので半ピクセルの差が出る
- 4行目は通常マイナス。プラスにすると上下反転
- 測地系は書かれていない。
.prjが無ければ、ズレ量から推定するしかない - 平面直角座標の (X, Y) をそのまま書くと南北と東西が入れ替わる
画像に座標を与えたあと、その座標系を別の測地系へそろえる段階では、点座標の変換と同じ話に戻ります。GeoConverter Pro(GCVP)は点の座標変換に特化していますが、「重ねる前に測地系をそろえる」という順番はラスタでも同じです。
出典
- GDAL ドキュメント「WLD — ESRI World File」 https://gdal.org/en/stable/drivers/raster/wld.html
- 国土地理院「平面直角座標系(平成十四年国土交通省告示第九号)」 https://www.gsi.go.jp/LAW/heimencho.html
- 国土地理院「基盤地図情報」 https://www.gsi.go.jp/kiban/
ワールドファイルの解釈(特に座標の軸順序)は、読み込むソフトウェアの実装によって差があります。実務では必ず既知点で重なりを確認してください。
次に確認する
- DXFに測地系が書かれていないときに何を手掛かりにするかを確認する — CAD図面でも同じ「座標系が無い」問題が起きます
- 出どころ不明の座標がどの測地系かをズレ量から見分ける方法を確認する —
.prjが無いときの実務手順です .prjに書かれるWKTがどういう構造なのかを確認する — 座標系を1ファイルで伝える書き方です- 緯度と経度、どちらを先に書くのかを形式ごとに確認する — 本記事の「並びが逆」をベクタ形式まで広げた話です
- 地理院タイルが画像をどう地図に貼っているのかを図で確認する(GeoPrism JP) — 「画像に座標を与える」もう一つのやり方です
- 書籍でまとめて学ぶ: 『日本の測地系Q&A』第13章「座標データの落とし穴」(Kindle Unlimited対応)
入門から通しで読むなら: 『日本の測地系がわかる本』 — 旧日本測地系から JGD2024 まで、座標がズレる理由と実務での扱いを1冊にまとめました(Kindle Unlimited 対応)
開発者より: アプリ・Kindle本・オープンソースの一覧は GitHub: amru195704 にまとめています。
お願い
本記事の情報は参考目的で掲載しており、正確性・完全性を保証するものではありません。誤記・不正確な情報がございましたら、コメント欄よりご指摘いただければ、確認のうえ修正いたします。
コメントを残す