gdal_mergeはマージするファイル容量が大きくなると上手く動かない…とどこかに書いてあったので、全道の5mDEMを作成するのにgdalwarpを使ってみました。結局、gdal_mergeでも、gdalwarp でもメモリーエラーが出て行き詰っているんですが…とりあえず、gdalwarpの使い方をメモ(あってるかな…)。引数の詳しい説明は
こちら。gdalwarpではワイルドカードが使えます!
-dstnodata -9999
データのないセルに-9999を与える。
-srcnodata -9999
-9999をNODATAと認識する。これをやらないと-9999は普通のセル値として扱われてしまう。
■*.tifをマージしてDEM5.tifとして出力
gdalwarp *.tif DEM5.tif
-dstnodata -9999 -srcnodata -9999
■整数ラスタで作成。標高ならInt16でOK。
gdalwarp *.tif DEM5_Int16.tif
-dstnodata -9999 -srcnodata -9999 -ot Int16
整数ラスタは容量が小さいし、ラスタテーブルが作成できるし、いいこといっぱい。細かい解析が必要なかったり、背景として使うなら整数ラスタの方がお勧めかもしれません。
追記:メモリーエラーはGDAL_CACHEMAXが原因でした。Win7でも32bit機だと上手く広いメモリーを確保できないようで、2047MB以下に設定してもエラーが出てしまいます。256MBとかなら大丈夫なのかな?とりあえず、GDAL_CACHEMAX外せばエラーは出ない。出ないが、100MBくらいしかメモリ使わないので、とっても遅い…のんびり作業して、4日目に突入してます…。GW前には終わって欲しい。