Category Archives: mapnik

CentOS6.4でMapnikを使ってみる。

CentOS6.4でMapnikを使ってみる。

以前、PythonでGeoSpatial dataを可視化する。[Chapter 6] では、Windows環境でのMapnikを使いましたが、今回はCentOS6.4Mapnikを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)

helpでずらずらと

な感じで表示されます。これで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]

Pythonで実行させるて画像ビューワーで表示すると、

な感じでmap_centos64.pngが出力されます。

Mapnikの起動も問題ないようですね。ただし、versionが古いので、PythonでGeoSpatial dataを可視化する。[Chapter 6] のWindows環境と同じように動作するかどうかは、今後使ってみなければわかりませんね。
私の環境では、ipython notebookでも動作確認ができました。

後は、QGISCentOS6.4にinstallできれば完璧ですね。
おいおい挑戦してみます。

まずは、Openlayers Tutorialを完成させねば!!

参考HP

  1. mapnik-devel-0.6.0-1.el6.rf.i686.rpmでrpm版もあるようです。

1 / 212

Social Widgets powered by AB-WebLog.com.