python的basemap這個庫是建立在geos上的,所以我們就需要先安裝geos。使用環境是windows,於是我就下載了3.5.0版本,但在安裝編譯geos時遇到了一個小問題,如下圖所示:
這一看就是源代碼出了問題,可是我目前只會python,完全不會c++。只好去查詢相關資料。
之後在geos的官網上發現了下面的文章:
http://lists.osgeo.org/pipermail/geos-devel/2016-January/007389.html
我們明確的看到是缺少了頭文件,所以,懂C++的朋友直接加上一個頭文件就可以。可是我不會C++啊,所以我選擇下載了早前的geos的版本。真是機智如我。
接下來,就可以去下載basemap包了。作爲windows下,直接下載exe文件就好,要下載正確的版本,不要32位的下載了64位的,要不然會出現下面的錯誤:
既然都安裝成功,就小試一下:
# -*- coding: utf-8 -*-
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
import numpy as np
#fig = plt.figure()
#ax1 = fig.add_subplot(1, 1, 1)
m = Basemap(projection='merc', llcrnrlat=-80, urcrnrlat=80,
llcrnrlon=-180, urcrnrlon=180, lat_ts=20, resolution='c')
m.drawcoastlines()
m.fillcontinents(color="coral", lake_color='aqua')
m.drawparallels(np.arange(-90, 91, 30))
m.drawmeridians(np.arange(-180, 181, 60))
m.drawmapboundary(fill_color='aqua')
plt.title('hello, world')
plt.show()
上面的代碼就可以畫出一張世界地圖了
本文參考資料:
https://msdn.microsoft.com/zh-cn/library/f2ccy3wt.aspx
http://blog.csdn.net/u012176591/article/details/44341589
http://lists.osgeo.org/pipermail/geos-devel/2016-January/007389.html