接下来几期介绍一下最近课程作业涉及到的地理可视化工具——Folium在海洋学中的一些应用。
Folium是一个强大的Python库,用于创建交互式地图可视化。它基于Leaflet.js,能够轻松地在Python中绘制地图,并支持各种标记、形状和图层。使用Folium,你可以绘制点标记、折线、多边形等,添加颜色、填充和弹出窗口,还可以创建时间序列地图和热力图。Folium的简洁API和灵活性使得地图可视化变得简单而直观,能提供优雅而美观的地图可视化解决方案。
Folium官网:
https://python-visualization.github.io/folium/
Folium官方示例:
https://nbviewer.org/github/python-visualization/folium/tree/main/examples/
接下来的三期我会介绍Folium在海洋学中的三种应用:矢量场(流场、风场等)绘制,路径(浮漂、台风等)绘制以及栅格图像的可视化。首先介绍矢量场的绘制。
宫中号后台回复“folium”领取示例代码
示例代码运行环境
python——3.8
folium——0.14.0
numpy——1.24.3
netCDF4——1.6.3
mplleaflet——0.0.5
scipy——1.10.1
matplotlib——3.4.3
注意:
①folium与大部分库的安装方法都一样,即pip install folium,需要注意的是绘制流场时要用到的mplleaflet库貌似不支持3.8以上版本的python,所以如果你想运行我给的示例代码,最好创建一个3.8版本的虚拟环境,然后安装上述库。
②mplleaflet安装完成后,需要对两个代码进行一定的修改(参考该链接 https://github.com/mpld3/mplexporter/compare/2f766e439b9d91ab4d4682245a2360bc1e5c2bb5...be8e3da62c81fea15a0107f3ae96ba16fc2cc9f),否则会报错'XAxis' object has no attribute '_gridOnMajor'。
③matplotlib要安装3.5以下版本的,否则会报错'Quiver' object has no attribute 'get_offset_position',建议和我一样安装3.4.3版本。
程序效果
矢量场绘制这部分提供了两个示例,一个是GOCI2海表流场产品数据的可视化,一个是CCMP风场数据的可视化,有需要的可以后台回复"folium"领取示例代码。
注意:打开html文件和Juypter程序时,若要查看除高德地图以外的底图,需要挂梯子
程序中我添加了保姆级注释,有需要的可以参考参考。
本期就先这样,下期会介绍绘制台风、浮漂路径的案例。童鞋们有啥问题可以后台问我我尽量帮你解决。