书接上文:
程序员如何庆祝十一:用Python绘制红色的中国地图
基本投影
basemap提供了25种投影,bm.supported_projections
中给出了这34种投影的代码。下表中,NP指代North-Polar,SP指代South-Polar。
code | 含义 |
---|---|
cyl | 等距圆柱投影(cyl indrical Equidistant) |
merc | 墨卡托投影(Merc ator) |
tmerc/omerc | 横轴/斜轴墨卡托(T ransverse/O blique merc ) |
mill | 米勒圆柱(Mill er Cylindrical) |
gall | 高尔立体圆柱(Gall Stereographic Cylindrical) |
ceea | 圆柱等积投影(C ylindrical E qual A rea) |
lambert | 兰勃特共形映射(Lambert Conformal) |
laea | 兰勃特等角圆锥投影(L A zimuthal E qual A rea) |
nplaea/splaea | 北极/南极兰伯特等方位角投影 ( NP /SP L mbert E qual A zimuthal) |
eqdc | 等距圆锥投影(Eq ui d istant C onic) |
aeqd | 等距方位投影(A zimuthal Eq ui d istant) |
npaeqd/spaeqd | 北极/南极等方位角投影(NP /SP aeqd ) |
aea | Albers投影(A lbers E qual A rea) |
stere | 立体投影(Stere ographic) |
npstere/spstere | 北极/南极立体投影(NP /SP stere ) |
cass | 卡西尼-斯洛德投影(Cass ini-Soldner) |
poly | 多圆锥投影(Poly conic) |
ortho | 正射投影(Orthographic) |
geos | 静止投影(Geos tationary) |
nsper | 垂直近侧透视投影(N ear-S ided Per spective) |
sinu | 正弦投影(Sinu soidal) |
moll | 摩尔威德投影(Moll weide) |
hammer | 哈默投影(Hammer ) |
robin | 罗宾森投影(Robin son) |
kav7 | Kavrayskiy VII |
eck4 | Eckert IV |
vandg | 范德格林投影(van d er G rinten) |
mbtfpq | 麦克布赖德-托马斯平极四次投影 ( M c B ryde-T homas F lat-P olar Q uartic) |
gnom | 球心投影(Gnom onic) |
rotpole | 极地旋转(Rotated Pole) |
通过 bm.projection_params
可查看其参数,找出几个只需要 lon_0
,lat_0
的投影然后画一下
import mpl_toolkits.basemap as bm
maps = list(bm.projection_params.keys())
fig, axes = plt.subplots(2,3)
for i in range(6):
ax = axes[divmod(i,3)]
ax.set_title(maps[i])
ax.axis('off')
m = bm.Basemap(projection=maps[i], lon_0=100, lat_0=50, ax=ax)
m.drawcoastlines()
plt.show()
如果不喜欢极致线条,也可以采用极致色彩
地图样式
通过 drawcoastlines
和 bluemarble
得到的地图完全是两个风格,当然耗时也完全不一样。在basemap中,封装了多种绘制方案。
bluemarble
画的是Nasa的照片,拥有极致色彩,主要参数为 scale
可进行放缩。
下面五种地图均以画线为主,其参数包括 (linewidth=1.0, linestyle=’solid’, color=’k’, antialiased=1, ax=None, zorder=None)
,其中 antialiased
为抗锯齿开关,ax
为绘制图像的坐标轴,zorder
为图层位置。
drawcoastlines
:用于绘制海岸线。drawcountries
:绘制国家/地区边界drawrivers
:绘制河流drawstates
:绘制北美或澳大利亚的州界drawcounties
:绘制国家
此外,drawcounties
还有额外的两个参数:facecolor
为县的颜色,drawbounds
为绘制边界线的开关。
drawmeridians
,drawparallels
用来绘制经、纬线,除了经线对应 meridians
,纬线对应 circles
,二者的其他参数包括 (color=’k’, linewidth=1.0, zorder=None, dashes=[1, 1], labels=[0, 0, 0, 0], labelstyle=None, fmt=’%g’, xoffset=None, yoffset=None, ax=None, latmax=None, **kwargs)
此外,还有以下绘图函数:
drawlsmask(land_color=‘0.8’, ocean_color=’w’, lsmask=None, lsmask_lons=None, lsmask_lats=None, lakes=True, resolution=’l’, grid=5, **kwargs)
:绘制湖泊、陆地以及海洋。drawmapboundary(, fill_color=None)
:绘制地球边界,fill_color
填充球体颜色etopo(ax=None, scale=None, **kwargs)
:绘制浮雕图像fillcontinents(color=‘0.8’, lake_color=None, ax=None, zorder=None, alpha=None)
:填充大陆
今天的文章地图投影基本类型_投影的基本知识「建议收藏」分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/68373.html