Basemap()函数参数详解(整理自官网)

Basemap()函数参数详解

整理自官方文档:https://matplotlib.org/basemap/api/basemap_api.html#mpl_toolkits.basemap.Basemap

  • Basemap() 的用途:我们最开始画静态地图的数据可视化,总得先有个地图吧,所以basemap()就是用于最开始设定一个地图用的,可以在该函数中设置地图投影方式,海岸线等等。
  • 参数列表:
mpl_toolkits.basemap.Basemap(
llcrnrlon=None, llcrnrlat=None, 
urcrnrlon=None, urcrnrlat=None, 
llcrnrx=None, llcrnry=None,
urcrnrx=None, urcrnry=None,
width=None, height=None, 
  projection='cyl', resolution='c',
   area_thresh=None, 
   rsphere=6370997.0, 
   ellps=None, lat_ts=None, 
   lat_1=None, lat_2=None, 
   lat_0=None, lon_0=None, 
   lon_1=None, lon_2=None, 
   o_lon_p=None, o_lat_p=None, 
   k_0=None, no_rot=False, 
   suppress_ticks=True, 
   satellite_height=35786000,
    boundinglat=None, 
    fix_aspect=True, anchor='C', 
    celestial=False, 
    round=False, epsg=None, ax=None)
  • 地球从不同的角度看,就有不同的画面,于是就有如下这么多种可以选择的投影方式:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 投影方式指定方法有两种:(我给出了英文和翻译,英文有助于理解这个关键词为什么是这样一串字母)
  • 第一种指定方法,用这四个:

  • llcrnrlon:longitude of lower left hand corner of the desired map domain (degrees).所需映射域左下角的经度(度)。

  • llcrnrlat:latitude of lower left hand corner of the desired map domain (degrees).所需映射域左下角的纬度(度)。

  • urcrnrlon:longitude of upper right hand corner of the desired map domain (degrees).所需映射域右上角的经度(度)。

  • urcrnrlat: latitude of upper right hand corner of the desired map domain (degrees).所需映射域右上角的纬度(度)。

  • 第二种指定方法,用这四个:

  • width: 投影坐标中所需地图域的宽度(米)。

  • height:期望地图域在投影坐标中的高度(米)。

  • lon_0:所需映射域的中心(以度为单位)。

  • lat_0:所需映射域的中心(以度为单位)。


  • 对于sinu、moll、hammer、npstere、spstere、nplaea、splaea、npaeqd、spaeqd、robin、eck4、kav7、mbtfpq, llcrnrlon、llcrnrlat、urcrnrlon、urcrnrlat、width和height的值将被忽略(因为它们要么在内部计算,要么总是绘制整个地球)。
  • 对于圆柱形投影(cyl, merc, mill, cea和gall),默认是使用llcrnrlon=-180,llcrnrlat=-90, urcrnrlon=180和urcrnrlat=90)。对于除ortho、geos和nsper之外的所有其他投影,角的纬度/经度值或宽度和高度必须由用户指定。
  • 对于ortho, geos和nsper,可以指定角的纬度/经度值,或者在全局投影(x=0,y=0在全局投影中心)的坐标系中指定角的x/y值(llcrnrx,llcrnry,urcrnrx,urcrnry)。如果没有指定角,则绘制整个球体。
  • 对于rotpole,未旋转球体上各角的纬度/经度值可以提供为llcrnrlon,llcrnrlat,urcrnrlon,urcrnrlat,或旋转球体上各角的纬度/经度值可以提供为llcrnrx,llcrnry,urcrnrx,urcrnry。

  • 其他参数详解:
  • resolution:数据库使用的边界分辨率。可以是c(粗),l(低),i(中),h(高),f(全)或无。如果为None,则不会读取边界数据,数据集之间的分辨率会下降大约80%。高分辨率的数据集绘制起来要慢得多。海岸线数据来自GSHHS。来自Generic Mapping Tools的州、国家和河流数据集。
  • area_thresh:海岸线或湖泊的面积小于平方公里的面积将不会被绘制出来。默认分辨率为10000,1000,100,10,1对应 c, l, i, h, f。
  • rsphere: 用于定义地图投影的球体半径(默认为6370997米,接近地球的算术平均半径)。如果给出一个序列,前两个元素解释为椭球的长轴和短轴的半径。注:有时椭球是由长轴和反扁平化参数(if)来指定的。小轴(b)可由长轴(a)和逆变展平参数(if = a/(a-b))计算得到。
  • ellps: 描述椭球体(’ GRS80 ‘或’ WGS84 ',例如)的字符串。如果同时给出了rsphere和ellps,则忽略rsphere。默认None。(See pyproj.pj_ellps for allowed values.)
  • suppress_ticks: 禁止在地图投影坐标中自动绘制轴线刻度和标签。默认为True,因此可以改为标记平行和子午线。如果要求进行平行或经线标记(使用drawparallels和drawmeridia方法),即使suppress_ticks=False,自动刻度标记也会被抑制。
    如果您希望使用自己的自定义刻度格式化器,或者希望让matplotlib使用地图投影坐标以米为单位标记坐标轴,则suppress_ticks=False非常有用。
  • fix_aspect: 修正plot的宽高比,以匹配地图投影区域的宽高比(默认为True)。
  • anchor:确定如何在轴矩形中放置map(传递给axis .set_aspect)。默认值是C,这意味着地图居中。取值范围:C、SW、S、SE、E、NE、N、NW和W。
  • celestial :对经度使用天文惯例(即0以东的负经度)。默认为False。意味着分辨率=没有。
  • ax:设置默认轴实例(默认 None)matplotlib.pyplot.gca()可以用来获取当前的axes实例)。如果你不想导入matplotlib.pyplot,您可以将其设置为一个预定义的轴实例,或者在每个进行绘图的Basemap方法调用中使用ax关键字。在第一种情况下,所有的Basemap方法调用都将绘制到相同的轴实例。在第二种情况下,您可以使用相同的Basemap实例绘制到不同的轴。您还可以在各个方法调用中使用ax关键字来有选择地覆盖默认轴实例。
  • 以下关键字是地图投影参数,默认值均为None。并非所有投影都使用所有参数,有些参数会被忽略。模块变量projection_params是一个字典,它列出了哪些参数适用于哪些投影。(说实话我也没有足够的地理知识看懂,先放在这里)
  • lat_ts: 真尺度纬度。可选的立体,圆柱等面积和墨卡托投影。对于立体投影,默认值是lat_0。墨卡托投影和柱面等距投影的默认值为0。
  • lat_1: 朗伯正形,阿尔伯斯等面积和等距二次曲线的第一标准平行线。斜墨卡托投影中线上两点之一的纬度。如果lat_1不给定,而lat_0为,则对于lambert保形,albers等面积和等距二次曲线,lat_1设为lat_0。
  • lat_2:朗伯正形、albers等面积和等距二次曲线的第二标准平行。斜墨卡托投影中线上两点之一的纬度。对于朗伯正形,albers等面积和等距二次曲线,如果不给出lat_2,则设为lat_1。
  • lon_1: 经度斜墨卡托投影中线上两点之一的经度
  • lon_2:经度斜墨卡托投影中线上两点之一的经度
  • k_0: 自然起源的规模因子(由’ tmerc ', ’ omerc ', ’ stere ‘和’ lcc '使用)。
    只有斜墨卡托才用。如果设置为True,地图投影坐标将不会旋转到真北。默认为False(投影坐标会自动旋转)。
  • lat_0: 中心纬度(y轴原点)-用于所有的投影。
  • lon_0:中央子午线(x轴原点)-所有投影都使用。
  • o_lat_p: latitude of rotated pole (only used by ‘rotpole’)
  • o_lon_p: 旋转磁极的经度(仅由’ rotpole '使用)
  • boundinglat: 极点中心投影的边界纬度(npstere,spstere,nplaea,splaea,npaeqd,spaeqd)。这些投影是以南极或北极为中心的正方形区域。经度lon_0在6点处,纬度圈的边界与地图lon_0处的边缘相切。
    圆形截断极心投影在边界(因此绘图是一个圆而不是一个正方形)。仅适用于npstere,spstere,nplaea,splaea,npaeqd或spaeqd投影。默认False。
  • satellite_height: 卫星赤道以上高度(m) -仅与地球静止和近侧透视(geos或nsper)投影相关。默认的35786公里。
### 回答1: Basemap函数是Python中的一个库,用于绘制地图和数据可视化。它提供了各种地图投影方式,包括等距圆柱投影、等面积投影、兰伯特投影等,可以用于绘制全球、国家、州、城市等各种地图。同时,Basemap还提供了各种绘图工具,如绘制点、线、多边形等,可以用于可视化各种地理数据。 ### 回答2: Basemap函数是一个Python库中的工具,用于在地图上可视化地理数据。它基于Matplotlib,提供了一种简单且灵活的方式来创建地图,并在地图上绘制各种数据。 Basemap函数可以绘制多种类型的地图投影,包括等距圆柱投影、等距伪柱面投影、兰勃特等距圆锥投影等。它还支持绘制各种地理元素,如陆地、河流、湖泊、国界等。通过Basemap函数,我们可以轻松地在地图上显示城市、气候数据、经纬度网格等。 使用Basemap函数时,我们可以设置地图的中心点经纬度、缩放级别、地图大小和边界范围等参数。我们还可以使用它的绘图方法来在地图上添加点、线、多边形、文本等元素。Basemap函数还提供了许多用于地理数据转换和坐标变换的工具,例如经纬度转换为地图投影坐标、地图投影坐标转换为经纬度等。 Basemap函数灵活易用,适用于各种领域的地理数据可视化任务。例如,在气象领域,可以使用Basemap函数绘制天气图,展示各个地区的气温、降水量等信息;在地理信息系统(GIS)领域,可以使用Basemap函数制作交互式地图,展示地理数据分布和空间关系等。 总之,Basemap函数是一个功能强大的地图绘制工具,可以帮助我们在Python中进行地理数据可视化,使得地理信息更加直观和易于理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

__心似大海__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值