gdal_translateして生成したGeoTiffが元のファイルサイズより大きくなってしまう

【元の画像】
 「base.tif」 :Size:122907KByte EPSG:32654 (GeoTiff・LZW圧縮)

photoshop等で航空写真.tifを編集・保存するとGeoTiff情報が欠落してしまうので、gdal_translateで座標系の情報を付与するため、コマンドラインより

gdal_translate -a_srs "EPSG:32654" base.tif work.tif

を実行すると、生成される「work.tif」のサイズが「430329KByte」
元のファイルサイズの3〜4倍もの大きさに。

上のコマンドだとLZW圧縮されていないためファイルサイズが大きくなってしまう
そこでオプションを追加

gdal_translate -a_srs "EPSG:32654" -co "COMPRESS=LZW" base.tif work.tif

よしよし、これで問題なかろうと思っていたら、生成されたwork.tifのサイズが「226680KByte」
非圧縮の場合よりは小さくなってるが、元画像と比較するとまだデカい…

そんな場合は、下記のように「-co "PREDICTOR=2"」オプションを追加すると良さそう

gdal_translate -a_srs "EPSG:32654" -co "COMPRESS=LZW" -co "PREDICTOR=2" base.tif work.tif

生成された「work.tif」のサイズは「122907KByte」

うむ、良い感じ。

LZW圧縮には2種類「低圧縮(PREDICTOR=1)」「高圧縮(PREDICTOR=2)」があるみたい
LZW圧縮(COMPRESS=LZW)時のデフォルトは「PREDICTOR=1」(低圧縮)となるようです