GDALで日本語のファイル名を扱う方法(ver1.8>=)
最新のOSGeo4WでインストールされるGDAL,OGRはバージョン1.8なのですが、デフォルトの状態だと日本語のファイル名を認識しません。(バージョン1.7までは日本語OKでしたが、どうやら、バージョン1.8から仕様が変更になったようです。)
そこで日本語ファイルを使えるようにするには、OSGeo4Wのコンソール上で、以下のように環境変数を設定する必要があります。
> SET GDAL_FILENAME_IS_UTF8=NO
毎回これをするのが面倒であれば、システムの環境変数に設定しましょう。
↑これをするとQGISに影響が出るかもしれませんのでダメ
これで無事、日本語のファイル名でもgdal,ogrのコマンドが打てるようになります。
ポリゴンでラスタをクリップする方法
広すぎるラスタデータを対象範囲でクリップする方法を紹介します。OSgeo4Wで以下のコマンドを打つだけです。
標高全域.tifデータを行政界.shpの範囲でクリップしたい場合
> gdalwarp -dstnodata 0 -crop_to_cutline -cblend 1 -cutline 行政界.shp 標高全域.tif 標高クリップ.tif
- -cutline はクリップしたい範囲のshpファイル
- -crop_to_cutline はshpファイルの範囲(最外郭の四角形)に、ラスタファイルの範囲を変更。これを指定しないとラスタファイルの範囲はそのまま。(shpファイルの外側の値はすべて0)
- -cblend shpファイルの範囲からバッファーを発生させてクリップする時に指定。単位はピクセル。-cblend 1 とすればshpの範囲+1ピクセルの範囲でクリップできる。shpとクリップしたラスタを重ねた時に、隙間ができるときに指定すると良いかも。
- -dstnodata はNoDataを0にする指定。shpファイルの外側の値はすべて0になるので、それをNoDataとしたい時に指定。ただし、標高データでは元々の標高値が0の場合があるので、そのときには困るかも。