CentOS5.5上でMySQLをバックエンドにGeoDjangoをインストールする
GeoDjangoのバックエンドでMySQLを使うためのセットアップを備忘録として残す。
ドキュメントで何故かRedhat系のことが無視されていて、インストールにかなり手こずった。
GEOSのインストール
./configureに--enable-pythonというオプションがあるが、あれをONにすると何故かDjangoからlibgeosが見えなくなるという罠があるので気をつけるべし。
$ wget http://download.osgeo.org/geos/geos-3.2.2.tar.bz2 $ tar xjf geos-3.2.2.tar.bz2 $ cd geos-3.2.2 $ ./configure # enable-pythonはつけない! $ make $ sudo make install
これでおそらく/usr/local/lib/libgeos_c.soが作られるので、settings.pyに
GEOS_LIBRARY_PATH = '/usr/local/lib/libgeos_c.so'
と指定する。
PROJ.4のインストール
こっちはドキュメント通りでOKだった
$ wget http://download.osgeo.org/proj/proj-4.7.0.tar.gz $ wget http://download.osgeo.org/proj/proj-datumgrid-1.5.zip $ tar xzf proj-4.7.0.tar.gz $ cd proj-4.7.0/nad $ unzip ../../proj-datumgrid-1.5.zip $ cd .. $ ./configure $ make $ sudo make install
これで/usr/local/lib/libproj.soが作られるはず。
GDALのインストール
ドキュメント通りだとそもそもコンパイルからできなかった。
$ wget http://download.osgeo.org/gdal/gdal-1.8.0.tar.gz $ tar xzf gdal-1.8.0.tar.gz $ cd gdal-1.8.0 $ ./configure --with-static-proj4=/usr/local/lib --with-threads --with-libtiff=internal --with-geotiff=internal --with-jpeg=internal --with-gif=internal --with-png=internal --with-libz=internal $ make $ make install
これで/usr/local/lib/libgdal.soが作られるのでsettings.pyに
GDAL_LIBRARY_PATH = '/usr/local/lib/libgdal.so'
を追加。
チュートリアルにあるworld borders datasetをMySQLにロード
/etc/my.cnfの[mysqld]のmax_allowed_packetを1Gとかに設定しないと、パケットが大きすぎると怒られた。