landsdat-utilをwindowsで使う方法(解決)

前のエントリの続きです。
結局、WinPythonの64bitを利用することにしました。

WinPythonのインストール

http://winpython.sourceforge.net/

パッケージのインストール

以下、WinPythonのコンソールでの作業

http://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal
pip install GDAL-1.11.2-cp27-none-win_amd64.whl

gdalにはVCredist SP1も必要とあるのでリンクをたどってインストール

http://www.lfd.uci.edu/~gohlke/pythonlibs/#rasterio
pip install --no-deps rasterio-0.20.0-cp27-none-win_amd64.whl

pip install affine click snuggs cligj
pip insatall --no-deps landsat-util

http://www.lfd.uci.edu/~gohlke/pythonlibs/#pycurl
pip install pycurl-7.19.5.1-cp27-none-win_amd64.whl

pip install homura termcolor boto

プログラムの修正

windowsで動くように以下のファイルを修正

C:\Users\mizutani\Downloads\WinPython-64bit-2.7.9.4\python-2.7.9.amd64\Lib\site-packages\landsat\downloader.py
amazon_s3_urlの以下の部分を書き換え

return join(self.s3, sat['sat'], sat['path'], sat['row'], sat['scene'], filename).replace("\\","/")

実行

検索
python Scripts\landsat search --lat 35.0 --lon 135.0 --cloud 10
ダウンロード
python Scripts\landsat download LC81100352014332LGN00 --bands 432
処理
python Scripts\landsat process C:\Users\mizutani\Downloads\WinPython-64bit-2.7.9.4\settings\landsat\downloads\LC81100352014332LGN00

備考(パッケージインストールの手順の意味)

以下のことが分かってなくてはまりました。

  • pip gdalだとlibraryとかが無いとエラーになる。
  • また、gdalをwhlで入れると、rasterioとlandsat-utilとで依存バージョンが違うからpip rasterioするとgdalも依存バージョンのものをpipで入れようとしてエラーになる。
  • なので、raterioとlandsat-utilをpipするときに--no-depsを指定して依存パッケージを入れないようにして、gdal以外を後から入れる。

この方法ならvc++のインストールも、gdalのコンパイルも必要もありません。

パスを通すとGDALコマンドも使えます。
C:\WinPython-64bit-2.7.10.1>set PATH=%PATH%;C:\WinPython-64bit-2.7.10.1\python-2
.7.10.amd64\Lib\site-packages\osgeo