画像そのものを変形せずにGIS上で変形を適用したい場合があります。
その場合はGeoTIFFやTFWでは以下のようにします。
GeoTIFFの場合
ModelTiepoint
タグとModelPixelScale
タグでは縦横ごとの拡大・縮小しか表現することができません。
変形を表現したい場合はTransMatrix
タグを使用します。
例えば、縦・横のピクセル解像度がそれぞれrU、rV、平行移動量がdX、dY、
画像原点を中心として回転角がθである場合のアフィン変換を表す場合は、
TransMatrix
タグの16個の値は以下のようにします。
なおrVは、画像の+方向(下向き)と地図上の+方向(上向き)が逆なので、負の値を指定します。
1 | rU*cosθ |
2 | -rU*sinθ |
3 | 0 |
4 | dX |
5 | rV*sinθ |
6 | rV*cosθ |
7 | 0 |
8 | dY |
9 | 0 |
10 | 0 |
11 | 1 |
12 | 0 |
13 | 0 |
14 | 0 |
15 | 0 |
16 | 1 |
平行移動(300,400)、回転+30°、地上解像度(1m,2m)の時のTransMatrixタグ
listgeo出力結果
TFWの場合
TFWの書式は以下のとおりですので、アフィン変換ならそのまま表現することができます。
rU*cosθ rV*sinθ -rU*sinθ rV*cosθ dX dY
すなわち、アフィン変換を{X=ax+by+c,Y=dx+ey+f}としたときに、上から{a,b,d,e,c,f}と並べていることになります。
このとき、rVは上記のGeoTIFFの場合と同様、負の値を指定します。
平行移動(300,400)、回転+30°、地上解像度(1m,2m)の時のTFW
0.86602540378443864676372317075294 -1.0 -0.5 -1.7320508075688772935274463415059 300 400