2012年12月27日木曜日

GDAL/OGRコマンドをWindowsでもLinuxライクに使う手順

研究室で購入した衛星データを他のメンバーに使いやすくするために(HDF->GeoTIFF変換や各種派生データ(コンポジット、地形指標など)の作成)、その処理の多くをGDAL/OGRコマンドを使ったシェルスクリプトに記述しています。
それらの処理を研究室の後輩への引き継ぐために、一連の手順の中でも汎用的な部分 (Cygwinのインストール&初期設定) をブログに載せます。

  1. Cygwinのインストール
  2. OSGeo4Wのインストール
  3. Cygwin.batの編集

1. Cygwinのインストール
CygwinはWindows上でLinuxの各種コマンドを使えるようにするツールです。後述のOSGeo4WでインストールされるGDAL/OGRコマンドはCygwinをインストールしなくてもWindowsコマンドプロンプトからでも使用出来るのですが、非常に使いづらいので(※個人の感想です)、Cygwinをインストールします。

以下はインストールの手順です。
Cygwinのサイト ( http://www.cygwin.com/ ) からインストーラをダウンロードして実行します。


インターネット経由でダウンロードが選択されているのを確認して次へ(つまりインストール時にはインタネット環境が必要)。


インストールディレクトリを変更することもできます。が特別な理由がなければデフォルトのままでいいでしょう。日本語フォルダをインストール先にするなどもってのほか。
※Windowsのユーザー名に日本語やスペースが入っていると以前はいろいろエラーが出たらしいです。最近はどうだか知りません。



インターネットからダウンロードしたインストーラの一時的な置き場所。インストール完了後はこのファイルは削除してもOK。このファイルを残しておくと次からはインターネット環境がなくてもこのファイルを呼んでCygwinインストールができる。まあよくわかんない人は消してOK。



で次へ次へと進んでいくとダウンロード元のサーバーを選択する画面がでます。適当に好きなとこを選んで下さい。日本国内のサーバーだとなんとなく早いような気がします(※個人の感想です)。選んだサーバーの状態が良くない場合は別の所を選んでと言われるので、その場合は別の所を選択して次へ進んで下さい。



次にインストールしたいソフトウェアを選択する場面になります。カテゴリ別に多くのソフトウェアが含まれているのでインストールしたいソフトウェアがあれば"Skip"となっているところをクリックして"Install"に変更してください。デフォルトの状態で基本的なソフトウェアはすでに選択されているので特に追加インストールしたいソフトウェアが無ければそのまま次へをクリックして下さい。
※大量のソフトウェアがあり探すのが大変なので検索窓にソフトウェア名を打ち込んで探すと楽だと思います。例えば Imagemagick と打ち込むとGraphicカテゴリだけ表示されます。今回はためしに Imagemagick を追加でインストールしてみましょう。


インストールが完了すると下のような画面が出てきます。アイコンをデスクトップに置きたい場合はチェックを付けてください。


2. OSGeo4Wのインストール
OSGeo4Wのサイト ( http://trac.osgeo.org/osgeo4w/ ) からインストーラをダウンロードして実行します。

インストールモードの選択画面が出てくるので、よくわかんない人は「エクスプレスデスクトップインストール」が選択されているのを確認して次へ進みましょう。



インストールするソフトウェアを選択する画面が出てきます。よくわかんない人は全て選択して次へ進んで下さい。
※GDAL/OGRコマンドだけを使いたい場合はGDALだけにチェックを入れればOKなのですが、QuantumGISはあると何かと便利ですし、QuantumGISを入れると依存関係にあるGRASS GISもインストールされます。uDigとOpenEVはあまり使う機会はないかも(※個人の感想です)。



3. Cygwin.batの編集
実は先ほどまでの説明はググればいくらでも説明しているサイトはあります。ここからが重要な部分です。

Cygwinのアイコンのプロパティを開いてリンク先を見るとわかるのですが、Cygwinの起動はC:\cygwinにあるCygwin.batというバッチファイルで行われています。
CygwinのなかでGDAL/OGRコマンドを使う場合はそのバッチファイル中にパスを通すコマンドを書く必要があります。
※環境変数をいじってもいいのですが別のソフトウェアに悪影響を与える可能性もあるので(特にpythonまわり)、バッチファイルに記述しておくのが安全です。


まずCドライブのcygwinフォルダに移動して、Cygwin.batというバッチファイルで右クリックをして"編集"をクリックします。

バッチファイルには以下のように記述されていると思います。

@echo off

C:
chdir C:\cygwin\bin

bash --login -i



ここに以下の3行を@echoのあとに加えます。
set OSGEO4W_ROOT=C:\OSGeo4W
PATH=%OSGEO4W_ROOT%\bin;%PATH%
for %%f in (%OSGEO4W_ROOT%\etc\ini\*.bat) do call %%f

追加後は以下のような感じになると思います。
※追加行は赤で表示。
@echo off

set OSGEO4W_ROOT=C:\OSGeo4W
PATH=%OSGEO4W_ROOT%\bin;%PATH%
for %%f in (%OSGEO4W_ROOT%\etc\ini\*.bat) do call %%f


C:
chdir C:\cygwin\bin

bash --login -i

で保存すれば、次にCygwinを起動したときからGDAL/OGRのコマンドが使えるようになります。

0 件のコメント:

コメントを投稿