Basemap 基础应用

下午看《利用python进行数据分析》这本书,发现了一个宝藏包(就是安装挺难的,可以查一下csdn上面其他的文章)

首先,我们可以看以下最基础的代码长什么样子:

import warnings
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
import numpy as np
import os
warnings.filterwarnings('ignore')
my_map = Basemap( projection='merc', llcrnrlat=10.0, urcrnrlat=55.0, llcrnrlon=60., urcrnrlon=140.0)
my_map.drawcoastlines()
my_map.drawcountries()
plt.show()

运行结果为:

 参数解释一下:

 projection='merc':表示地图是什么样子的,是平面图还是立体图,如果讲参数改成ortho,泽就变成了绘制立体球形地图,但是每个种类的地图都有他自己的必须有的参数要求,如果是画的球形地图,则需要:

my_map = Basemap( projection='ortho', lon_0=100,lat_0=0)

 运行结果图为:

最少是这样设置参数,就是说明需要有一个经度值和一个纬度值

如果绘制的是平面图,则最好是给他灌四个参数,不然的出来的结果图就会是这样

 如果在设置一下,就可以画出很逼真的地图来了

上代码:

map = Basemap(llcrnrlon=70,llcrnrlat=3,urcrnrlon=140,urcrnrlat=54)
map.arcgisimage(service='ESRI_Imagery_World_2D', xpixels = 1500, verbose= True)
plt.show()

service里面的内容可以更改

’NatGeo_World_Map‘:

 

 World_Shaded_Relief:

 

 第一个图片的绘制方法还可以变得更简单一点:

map = Basemap(llcrnrlon=70,llcrnrlat=3,urcrnrlon=140,urcrnrlat=54)
map.bluemarble()
plt.show()

就可以绘制出和第一张图片一样的效果了

向其中添加数据:

绘制少量点:

map = Basemap(llcrnrlon=70,llcrnrlat=3,urcrnrlon=140,urcrnrlat=54)
map.bluemarble()
lons = [74, 85, 135]
lats = [20, 50, 35]
x, y = map(lons, lats)
map.plot(x, y, 'bo', markersize=5)
plt.show()

运行结果:

 如果想从文件里面读取,需要读取文件的经纬度,然后将其添加到lons【】和lats【】中,在和上方一样绘制就可以了,具体的讲述该包有一个十分详细的网站:https://www.osgeo.cn/pygis/basemap-basic.html

可以之后进行详细学习

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值