Basemap()函数参数详解(整理自官网)
Basemap()函数参数详解整理自官方文档:https://matplotlib.org/basemap/api/basemap_api.html#mpl_toolkits.basemap.BasemapBasemap() 的用途:我们最开始画静态地图的数据可视化,总得先有个地图吧,所以basemap()就是用于最开始设定一个地图用的,可以在该函数中设置地图投影方式,海岸线等等。参数列表:mpl
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公里。
更多推荐
所有评论(0)