博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
basemap基本函数
阅读量:3965 次
发布时间:2019-05-24

本文共 2137 字,大约阅读时间需要 7 分钟。

涂色

# 首先给地球涂上蓝色的一层map.drawmapboundary(fill_color='aqua')# 给大陆涂上珊瑚色,给江河湖泊涂上大海一样的颜色map.fillcontinents(color='coral', lake_color='aqua')
# 画经纬度线m.drawparallels(np.arange(-90.,91.,30.))m.drawmeridians(np.arange(-180.,181.,60.))# 送上标题plt.title("Mercator Projection")

管理地图投影

1. projection参数用来设置投影模式
map = Basemap(projection = 'cyl')
2. 利用epsg设置地图投影,绘制台湾省
map = Basemap(llcrnrlon=119.3, llcrnrlat=20.7, urcrnrlon=124.6, urcrnrlat=26, resolution='h', epsg=3415)

绘制区域地图

注意:使用cyl,merc,mill,cea和gall投影时,如果没有设置边界,那么边界默认设置为-180,-90,180,90(也就是整个球体),其他投影都需要额外设置。

1. 利用经纬度设置边界,绘制海南省
map = Basemap(llcrnrlon=108.3, llcrnrlat=18, urcrnrlon=111.5, urcrnrlat=20.3, resolution='i', projection='tmerc', lat_0=20, lon_0=111)

注意:使用sinu,moll,hammer,npstere,spstere,nplaea,splaea,npaeqd, spaeqd, robin, eck4, kav7,和 mbtfpq投影中,不能使用这种方法。一是因为在有些投影中,整个地球都被绘制出来,二是因为在有些投影中,无法通过地理坐标计算extension的值

2. 利用地图设置边界
map = Basemap(resolution='l', satellite_height=3000000., projection='nsper', lat_0=30, lon_0=116, llcrnrx=500000.,llcrnry=500000., urcrnrx=2700000., urcrnry=2700000.)

注意:只有在ortho,geos和nsper投影中使用这种方法

3. 通过中心坐标和长度、宽度
# 中心维度0,经度90,图片宽度10000000,高度10000000map = Basemap(projection='aeqd', lat_0=0, lon_0=90, width=10000000, height=10000000.)

基本函数

1. 在地图上画一个点
map = Basemap(projection = 'ortho', lat_0 = 0, lon_0 = 120, width = 10000000,height = 10000000.)# x是经度,y是纬度 x, y = map(114, 22.4) map.plot(x, y, marker = 'D', color = 'm')

用经纬度计算地图坐标的时候

  • 如果latlon关键字设置为true,x,y将被当做经纬度。但是在老版本的Basemap中不能这样使用。

plot方法绘制点时需要这一点在地图上的坐标,maker和color参数如下

  • 默认maker是一个点,详细属性在这里
  • 默认color是黑色(k),详细属性在这里
2.绘制一系列的点
m = Basemap(projection='ortho', lat_0=0, lon_0=120)# 北上广郑四个城市lons = [113.14, 113.4, 121.29, 116.24]lats = [23.08, 34.46, 31.14, 39.55]# x是经度,y是纬度x, y = m(lons, lats)m.scatter(x, y, marker='o', color='m')

注意:如果m.fillcontinents(),那么填充的颜色会覆盖掉这四个点

3.绘制栅栏数据

有两个方法可以处理栅格数据,一个是contour/contourf,用来绘制或者填充轮廓;一个是pcolor/pcolormesh,用来创造一个虚拟色彩的点

lons = np.linspace(-180., 180., 1440)lats = np.linspace(90., -90., 720)lon, lat = np.meshgrid(lons, lats)xi, yi = m(lon, lat)cs = m.contourf(xi, yi, sm, np.linspace(0, 1, 30), cmap='jet')
4.添加地图信息
m.readshapefile(shapefile, name, drawbounds=True)

转载地址:http://rymzi.baihongyu.com/

你可能感兴趣的文章
ipcalc
查看>>
网络 linux 禁止 ping
查看>>
ELF 格式详解
查看>>
chromium 使用
查看>>
linux 检测虚拟机类型
查看>>
go - 运行时:内存不足
查看>>
top 使用
查看>>
Linux Netlink通信机制详解
查看>>
rsync 远程同步
查看>>
nano使用
查看>>
c函数
查看>>
linux 链接
查看>>
centos6.x 添加开机启动服务
查看>>
zfs 简单使用
查看>>
linux EXT4格式分区扩容
查看>>
实现 du 命令
查看>>
git revert reset 使用
查看>>
一些比较好的golang安全项目
查看>>
HTTP状态码
查看>>
go语言
查看>>