使用している言語
Python3
前提・実現したいこと
1.地図を描画したい
2.描画した地図に、緯度経度で指定したプロット点を描画したい
しかし、以下のようなエラーコードが表示されて解決できません。
KeyError: 'PROJ_LIB'
なお、地図描画に際して、下記のサイトを参考にしました。
https://nm-player.blogspot.com/2012/09/matplotlibbasemap-1.html
該当のソースコード
# 簡単な地図上へのプロット import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.basemap import Basemap # フォントの指定(※それぞれの環境で異なる) import matplotlib.font_manager as fm prop_e = fm.FontProperties(fname='E:\usr\Python27\Lib\site-packages\matplotlib\mpl-data\fonts\ttf\arial.ttf') prop_j = fm.FontProperties(fname='E:\usr\Python27\Lib\site-packages\matplotlib\mpl-data\fonts\ttf\ipag.ttf') # 適当な場所の緯度と経度(東京駅と大阪駅) tokyo_lat = 35.681394 tokyo_lon = 139.766060 osaka_lat = 34.701921 osaka_lon = 135.494985 fig = plt.figure(figsize=(8,8)) m = Basemap(projection='merc',llcrnrlat=32.0,urcrnrlat=40.1,\ llcrnrlon=133.0,urcrnrlon=141.1, lat_ts=20,resolution='f') m.drawcoastlines( linewidth=0.5, color='k' ) m.fillcontinents(color='#eeeeee',lake_color='#ddeeff') m.drawstates( linewidth=0.5, color='k' ) m.drawcountries() m.drawmapboundary(fill_color='#ddeeff') # draw parallels and meridians. # フォントの指定をしてない場合注意(fontproperties=prop_eを消す) m.drawparallels(np.arange(32.0, 40.1, 2.0), labels = [1,0,0,0], fontsize=12, fontproperties=prop_e) m.drawmeridians(np.arange(133.0, 141.1, 2.0), labels = [0,0,0,1], fontsize=12, fontproperties=prop_e) # 東京駅 t_x, t_y = m( tokyo_lon, tokyo_lat) m.plot( t_x, t_y, 'g*', ms = 10 ) # 大阪駅 o_x, o_y = m(osaka_lon, osaka_lat) m.plot( o_x, o_y, 'bo', ms = 10 ) # 駅名を入れる。フォントの指定をしてない場合注意(fontproperties=prop_jを消す) plt.text(o_x + 10000, o_y + 10000, u"大阪駅", fontproperties=prop_j) plt.text(t_x + 10000, t_y + 10000, u"東京駅", fontproperties=prop_j) if 1: plt.savefig('map.emf') plt.savefig('map.png') if 1: plt.show()
試したこと
以下のようなエラーコードが表示されて解決できません。
KeyError: 'PROJ_LIB'
補足情報(FW/ツールのバージョンなど)
Python3
Spyder3.3.6