20160322

Matplotlibのtoolkitsのbasemap 2

image.pngimage.png
中学校の時、メルカトル図法って習った。学校で習うんだから、代表的な図法なんだと思う。
しかし、basemapでは、かなりたくさんの図法がある。

http://matplotlib.org/basemap/users/mapsetup.html

図法というか、投影法というらしい。
英語で言うと、projection。
プロジェクションマッピングと同じプロジェクション。

埋め込み画像 3

from mpl_toolkits.basemap import Basemap
import numpy as np
import matplotlib.pyplot as plt

m = Basemap(projection='merc',llcrnrlat=0,urcrnrlat=70,\ llcrnrlon=100,urcrnrlon=180,lat_ts=35,resolution='h')
m.drawcoastlines(linewidth=0.4)
m.drawmapboundary(fill_color='blue')
m.fillcontinents(color='white',lake_color='blue')

m.drawparallels(np.arange(-80,80,20))
m.drawmeridians(np.arange(-180,180,20))

plt.title('Mercator Projection')
plt.show()




正距方位図法 azimuthal equidistant projection
埋め込み画像 2

from mpl_toolkits.basemap import Basemap
import numpy as np
import matplotlib.pyplot as plt

width = 5000000
m = Basemap(width=width,height=width,projection='aeqd',
lat_0=35.41,lon_0=139.45,resolution='h')#resolution='l'なら、小笠原諸島が見えないが、この行に時間かからない。
m.drawmapboundary(fill_color='blue')

m.drawcoastlines(linewidth=0.4)
m.fillcontinents(color='white',lake_color='blue')

m.drawparallels(np.arange(-80,80,20))
m.drawmeridians(np.arange(-180,180,20))

xpt, ypt = m(lon_0, lat_0)
m.plot([xpt],[ypt],'ko')

plt.title('Azimuthal Equidistant Projection')
plt.show()



posted by yuchan at 14:17 | Comment(1) | python