CentOS6.4でMapnikを使ってみる。
以前、PythonでGeoSpatial dataを可視化する。[Chapter 6] では、Windows環境でのMapnikを使いましたが、今回はCentOS6.4にMapnikをinstallしてみました。
Mapnikのサイトは、こちらを参考にしてください。
CentOS6.4にMapnikのinstall
Windows環境とは違い、すぐに使えませんし、yumでもinstallすることはできません。
sourceからcompileしなければなりません。
今回は、CentOS6.4 32bit環境にinstallしてみました。
Pythonのversionは2.6.6です。(CentOS6.4のyumで標準的なinstallです。)
MapServer6.0.3 & GeoServer2.2 on CentOS6.4でprojとgdal/ogrがinstallされて、Python on CentOS6.4でとりあえずPythonの開発環境が設定されていることが前提です。
依存fileのinstall
まずは、Mapnikを使うための依存fileのinstallです。
# yum install freetype-devel libtool-ltdl-devel libpng-devel libtiff-devel libjpeg-devel gcc-c++ libicu-devel bzip2-devel libxml2-devel
boostのinstall
Mapnikを使うには、c++ libraryのBoostが必要になります。今回は、boost_1_43_0.tar.gzをdownloadして、installします。
詳しくは、Boost HPを参照してください。
# wget http://downloads.sourceforge.net/project/boost/boost/1.43.0/boost_1_43_0.tar.gz # tar zxvf boost_1_43_0.tar.gz # cd boost_1_43_0 # ./bootstrap.sh # ./bjam
boost_1_43_0はPython 2.6対応ですので、Pythonのversionが違う場合は、ここからdownloadしてください。
Buildには時間がかかりますが、終了後は、
# cp -rfv stage/lib/* /usr/local/lib/ # cp -rf boost /usr/local/include
でlibraryをcopyします。
# vi /etc/ld.so.conf.d/local.conf
で/etc/ld.so.conf.d/local.confに/usr/local/libを追加します。
そして、
# /sbin/ldconfig -v
でlibraryを登録します。
Mapnikのinstall
今回のMapnikは、mapnik-0.7.1.tar.bz2をdownloadして、installします。
詳しくは、Mapnik HPを参照してください。
# wget http://download.berlios.de/mapnik/mapnik-0.7.1.tar.bz2 # bzip2 -d mapnik-0.7.1.tar.bz2 # tar xvf mapnik-0.7.1.tar # cd mapnik-0.7.1 # python scons/scons.py configure # python scons/scons.py install # /sbin/ldconfig -v
以上でMapnikのinstallが終了しました。
Mapnikの動作確認
Mapnikの動作確認のため、terminalからpythonと入力して、リターンキーを押して以下のcomanndを入力します。
>>> import mapnik >>> help(mapnik)
な感じで表示されます。これでMapnikのinstall確認ができました。
Example code
次に、Mapnikのexample codeを動かしてみましょう。
下記のcodeを使います。shapefile dataは、PythonでOGRをちょろっと使ってみる。[Chapter 2] のsampleを使います。directoryの配置等については各自の環境に合わせてください。
[python]
import mapnik
symbolizer = mapnik.PolygonSymbolizer(mapnik.Color("darkgreen"))
rule = mapnik.Rule()
rule.symbols.append(symbolizer)
style = mapnik.Style()
style.rules.append(rule)
layer = mapnik.Layer("mapLayer")
fn = "../../shapefile_data/TM_WORLD_BORDERS-0.3.shp"
layer.datasource = mapnik.Shapefile(file=fn)
layer.styles.append("mapStyle")
map = mapnik.Map(800, 400)
map.background = mapnik.Color("steelblue")
map.append_style("mapStyle", style)
map.layers.append(layer)
map.zoom_all()
mapnik.render_to_file(map, "map_centos64.png", "png")
[/python]
な感じでmap_centos64.pngが出力されます。
Mapnikの起動も問題ないようですね。ただし、versionが古いので、PythonでGeoSpatial dataを可視化する。[Chapter 6] のWindows環境と同じように動作するかどうかは、今後使ってみなければわかりませんね。
私の環境では、ipython notebookでも動作確認ができました。
後は、QGISをCentOS6.4にinstallできれば完璧ですね。
おいおい挑戦してみます。
まずは、Openlayers Tutorialを完成させねば!!
参考HP
-
mapnik-devel-0.6.0-1.el6.rf.i686.rpmでrpm版もあるようです。
最近のコメント