mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

Python - Matplotlib Basemap で地図描画!

[ プログラミング ] [ GIS, Python, 地図 ]

こんばんは。

Python で地図を描画するために Matplotlib の Basemap をインストールしてみました。

0. 前提条件

  • LMDE 3 (Linux Mint Debian Edition 3; 64bit) での作業を想定。
  • Python 3.6.5 での作業を想定。
  • 当方、 Python の複数バージョンが共存する環境のため、 3.6 系は python3.6, pip3.6 で使用できるようにしている。

1. libgeos-dev のインストール

未インストールならインストールしておく。

1
$ sudo apt install libgeos-dev

2. matplotlib, numpy のインストール

matplotlib(>=1.0.0), numpy(>=1.2.1) が未インストールならインストールしておく。

1
2
$ sudo pip3.6 install matplotlib
$ sudo pip3.6 install numpy

3. アーカイブのダウンロード

アーカイブをダウンロード後、展開する。

1
2
$ wget -O basemap-1.1.0 https://github.com/matplotlib/basemap/archive/v1.1.0.tar.gz
$ tar zxvf basemap-1.1.0.tar.gz
  • 最新版は「こちら」で確認のこと。

4. GEOS ライブラリのインストール

libgeos-dev がインストール済みなら、 export ... 行のみ実行すればよい。

1
2
3
4
5
$ cd basemap-1.1.0/geos-3.3.3
$ export GEOS_DIR=/usr/include
$ ./configure --prefix=$GEOS_DIR
$ make
$ sudo make install
  • GEOS_DIR には libgeos-dev がインストールされているディレクトリを指定。

5. basemap のインストール

展開された basemap-1.1.0 ディレクトリ直下で pip インストールする。

1
2
$ cd ..
$ sudo pip3.6 install .

6. 動作確認

取り急ぎ、インポートできるか確認してみる。

1
$ python3.6 -c "from mpl_toolkits.basemap import Basemap"

エラーが出力されなければ O.K.

次に、サンプルスクリプトを実行してみる。

1
2
$ cd examples
$ python3.6 simpletest.py

PYTHON_BASEMAP_EXAMPLE

  • 実行時に _tkinter メソッドがない旨のエラーが出る場合、それは Python そのものをビルドする際に tk-dev ライブラリが入っていなかったためであるので、 tk-dev ライブラリをインストールしてから再度 Python をビルドする。

7. 参考サイト


Basemap の Web サイトには描画例も多数掲載されているので、参考にして容易に地図が描画できるようになるでしょう。

以上。

Comments