Python basemap,basemap教程
底图入坑手册2021-07-19
我更改了我的计算机以安装底图,但自从我报告错误后,我就没有更新过它。今天无论如何都要给他安装,才发现这个项目从2016年就换了主人,底图要维持到2020年。
不过现在都2021年了,这个就不再更新了。说不定会开一个cartopy的学习笔记。
内容列表底图到pit手册0中。导言1。安装2。画第一幅画。地图投影专题3.1地图投影基础知识3.1.1用EPSG设置3.2地图投影扩展4。基本功能4.1在地图上画点前面的废话。
本来想画个热点图,后来一路百度地图API-follow-base map。因为前两个需要html知识,而我没有,所以最后选择了入坑中的底图。
不过网上资源虽然多,但是比较分散。但是当我找到英文版教程的时候,我怕我看不下去了,所以我决定边学边记笔记,有用的教程和资源也在这里做了标记。
0.介绍Python中的地图绘制。
1.安装每个不用pip就能安装的包都有一个大大的点头。
还有一些官方的安装指南,大致意思是先安装python(废话),matplotlib,numpy,PROJ4,GEOS,Pillow(可选)再安装底图。
我是Mac版Anaconda,所以直接下载了源代码(tar.gz),解压后安装在终端上。
具体流程:
解压后,文件夹里会有一个setup.py的文件;
打开终端,输入cd。/桌面/.(将目录更改为setup.py的位置);
输入python setup . py install;
输入frommpl _ toolkits.basemap在python中导入底图。如果没有错误,安装成功。
有关更详细的教程,请参考:
Mac:Mac Python底图安装
Linux:python fan wai(2)——底图安装
在Windows:window下安装底图
2.绘制第一个图的最基本的图代码如下:
# import package from mpl _ toolkits . base map import base map import matplotlib . pyplot asplt # new map map=base map()# base map类有很多属性,这里我们都使用默认参数# draw map . draw coast lines()# display result PLT . show()# store result PLT . save fig( test . png )得到这样一个图 \downarrow
一个丢丢高级图代码如下:
# Import package from mpl _ toolkits . base map Import matplotlib . py plot as PLT #更改投影模式map=basemap (projection= ortho ,lat _ 0=0,lon _ 0=0) # ortho 正射投影,具体参数稍后讨论;最后两个参数用于将中心点#设置为蓝色贴图。DrawMapBoundary(fill _ color= aqua )#用珊瑚给陆地上色,用蓝色地图给湖泊上色。fill contrasts(color= coral ,lake _ color= aqua) #来绘制map.drawcoastlines()#
如果你遇到错误,请点击这里。
3.地图投影专题地图投影是利用一定的数学规则,将地球表面的经纬度转换成平面的理论和方法。3354百度百科
教程指出了底图中的投影方法与其他库(如GDAL)不同,你应该很容易学会。
3.1地图投影基础底图的投影模式由底图类中的投影属性控制。缺省值为cyl,选项如下。相应的具体效果见地图投影示例。
选项描述解释圆柱圆柱等距默认,圆柱投影mercMercator墨卡托投影,是正轴等角圆柱投影横墨卡托横轴墨卡托投影墨卡托斜轴墨卡托投影米勒圆柱形米勒圆柱投影hldlrGall立体图高尔立体投影圆柱等面积圆柱等面积投影lccLambert保形兰勃特等角投影拉氏方位等面积兰勃特等积投影n北极朗伯北极兰勃特投影?南极-极地朗伯南极兰勃特投影?等距圆锥曲线等距圆锥投影等距离等距方位投影北极方位角北极方位投影南极方位角南极方位投影aeaAlbers等于阿尔伯斯等积投影立体摄影术立体投影北极立体图北极立体投影南极立体图南极立体投影卡斯卡西尼-索尔德纳卡西尼-斯洛德投影多圆锥曲线多圆锥投影正字法正射投影地球静止轨道对地静止投影超透视近端透视投影?正弦的正弦投影莫尔莫尔韦德受伤的马里奥威德投影锤锤哈默投影robinRobinsonxfdbl投影旋转磁极解释部分的参考:
Matplotlib:设置地图地图投影种类-中英文对照地图投影的普通种姿势以及百度百科3.1.1 用EPSG进行设置没太整明白
3.2 地图投影拓展如果不想展示整个地图,可以通过修改地图边界或中心来展示部分区域。
除了cyl、merc、mill、cea和hldlr默认显示整个地球llcrnrlon=-180,llcrnrlat=-90,urcrnrlon=180,urcrnrlat=90,其他投影方式都要手动设置底图类的参数来设置所展示的区域。
多数投影方式可以通过三种方法中的若干种进行设置:
方法一:设置边界的经纬度
参数解释所需地图域左下角的经度(度)。
地图左边经度所需地图域左下角的纬度(度)。
地图下方纬度所需地图域右上角的urcrnrlonlongitude(度)。
地图右边经度所需地图域右上角的urcrnrlatlatitude(度)。
地图上方纬度方法二:设置边界的坐标
参数解释地图投影坐标中所选地图域左下角的llcrnrxx值。
地图左下角的x值地图投影坐标中所选地图域左下角的llcrnryy值。
地图左下角的y值地图投影坐标中所选地图域右上角的urcrnrxx值。
地图右上角的x值地图投影坐标中所选地图域右上角的乌尔克纳里值。
地图右上角的y值方法三:设置中心点和高与宽
参数解释宽度以投影坐标表示的所需地图域的宽度(米)。
宽高度以投影坐标表示的所需地图域的高度(米)。
高lon _所需地图域的中心(以度为单位)。
中心点的经度lat _所需地图域的中心(以度为单位)。
中心点的纬度#其他相关参数:
4.基本功能4.1 在图上画点画一个点
画多个点
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。