博主最近发现了python中一个好玩的包叫basemap,使用这个包可以绘制地图。值得说一下的是,basemap还没有pip检索,因此不能直接使用pip install basemap,来安装这个包。所以需要自己把下面两个包自行下载,然后在该目录下使用pip安装。
1
2
|
pyproj - 1.9 . 5.1 - cp36 - cp36m - win_amd64.whl
basemap - 1.1 . 0 - cp36 - cp36m - win_amd64.whl
|
先上个效果图,可以发现这个工具包还是很强大的,下面介绍下怎么在地图上标注出经纬度的地点。
整个画图流程分为两部分,第一部分是绘制一个世界地图,代码如下:
1
2
3
4
5
6
7
8
9
10
11
|
from mpl_toolkits.basemap import Basemap
m = Basemap() # 实例化一个map
m.drawcoastlines() # 画海岸线
m.drawmapboundary(fill_color = 'white' )
m.fillcontinents(color = 'white' ,lake_color = 'white' ) # 画大洲,颜色填充为白色
parallels = np.arange( - 90. , 90. , 10. ) # 这两行画纬度,范围为[-90,90]间隔为10
m.drawparallels(parallels,labels = [ False , True , True , False ])
meridians = np.arange( - 180. , 180. , 20. ) # 这两行画经度,范围为[-180,180]间隔为10
m.drawmeridians(meridians,labels = [ True , False , False , True ])
|
第二部分是标注出经纬度所在的地点,这部分比第一步简单多了,直接用scatter()方法就可以了,代码如下:
1
2
3
|
lon, lat = m(lon, lat) # lon, lat为给定的经纬度,可以使单个的,也可以是列表
m.scatter(lon, lat, s = 100 ) # 标注出所在的点,s为点的大小,还可以选择点的性状和颜色等属性
plt.show()
|
以上这篇Python 给定的经纬度标注在地图上的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/sinat_35821976/article/details/82797936