LoginSignup
5
4

More than 5 years have passed since last update.

Pythonで世界地図(Mapnik版)

Last updated at Posted at 2018-04-30
実行した環境

Linux Mint 18.2
Python 3.5.2

インストール

Mapnikのインストール
https://github.com/mapnik/mapnik/wiki/UbuntuInstallation

Ubuntu (16.04)のインストールのやり方でインストールしました。

sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
sudo apt-get update -y

エラー:1 http://packages.linuxmint-jp.net/linuxmint-ja ./ InRelease
  packages.linuxmint-jp.net:80 (219.94.251.202) へ接続できませんでした。 - connect (111: 接続を拒否されました)

sudo apt-get install -y gcc-6 g++-6 clang-3.8
export CXX="clang++-3.8" && export CC="clang-3.8"


git clone https://github.com/mapnik/mapnik mapnik-3.x --depth 10
cd mapnik-3.x
git submodule update --init
sudo apt-get install python zlib1g-dev clang make pkg-config curl
source bootstrap.sh
./configure CUSTOM_CXXFLAGS="-D_GLIBCXX_USE_CXX11_ABI=0" CXX=${CXX} CC=${CC}
make
make test
sudo make install

sudo apt install python3.5-mapnik

インストールはスムーズに終わりましたが、サンプルプログラムがエラーなくできるまでは苦労しました。(古いPC(セレロンCPU)でインストールに1時間近くかかりました。)
サンプルプログラムはネットで検索するとたくさんヒットするのですが、エラーがでてうまく動作しないものが多いです。

test.py
#!/usr/bin/python3

import  mapnik

map = mapnik.Map (600 ,300)
map.background = mapnik.Color('steelblue')
polygons = mapnik.PolygonSymbolizer ()
polygons.fill = mapnik.Color('lightgreen')

rules = mapnik.Rule()
rules.symbols.append(polygons)
style = mapnik.Style()
style.rules.append(rules)
map.append_style('Countries', style)
layer = mapnik.Layer('world')
layer.datasource = mapnik.Shapefile(file='/home/ty21ky/mapnik-3.x/test/data/shp/ne_110m_admin_0_countries.shp')
layer.styles.append('Countries')
map.layers.append(layer)
map.zoom_all ()

mapnik.render_to_file(map ,'world.png','png')

world.png

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4