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」(低圧縮)となるようです