python中利用cartopy库绘制SST图像

1. Cartopy简介

Cartopy 是一个开源的 Python 库,用于绘制地图和地理数据分析。它结合了 matplotlib 的绘图功能和 shapely、pyproj 等库的地理空间数据处理能力,为用户提供了在地图上可视化数据的强大工具。

以下是 Cartopy 的一些主要特点和功能:
【1】支持常用地图投影:Cartopy 支持多种常用地图投影,包括 Mercator、Lambert Conformal、Orthographic 等,以及全球和局部的投影。
【2】地图特征:Cartopy 内置了一些常见的地图特征数据,如海岸线、河流、湖泊等,方便用户在地图上添加这些特征。
【3】地理数据处理:Cartopy 可以轻松处理地理空间数据,如矢量数据、栅格数据等,支持常见的地理空间文件格式。
【4】与 Matplotlib 结合:作为 Matplotlib 的扩展库,Cartopy 可以直接与 Matplotlib 结合使用,使用户可以在 Matplotlib 的图形基础上添加地图数据。
【5】开源和活跃的社区:Cartopy 是一个开源项目,拥有活跃的社区支持,用户可以从社区获取支持和贡献自己的代码。

Cartopy 在科学研究、地理信息系统、气象学等领域都有广泛的应用,可以用于绘制地图、分析地理数据、制作气象图等。它提供了丰富的功能和灵活的接口,适用于多种地理空间应用场景。

2. 绘制SST数据

下面使用随机产生的SST绘图

2.1 Lambert投影

Lambert投影

2.2 Mercator投影

Mercator投影

3. 代码

import matplotlib.pyplot as plt
import cartopy.crs as ccrs
import cartopy.feature as cfeature
import numpy as np# 生成经纬度网格
lon_min,lon_max=(80, 160)
lat_min,lat_max=(-10, 40)lon = np.arange(lon_min, lon_max+0.5, 0.5)
lat = np.arange(lat_min, lat_max+0.5, 0.5)
lon_grid, lat_grid = np.meshgrid(lon, lat)# 生成随机噪声
noise = np.random.rand(len(lat), len(lon)) * 2 - 1  # 随机噪声范围为[-1, 1]# 生成正弦函数并添加噪声
sst = np.cos(lon_grid / np.pi/180 ) * np.cos(lat_grid * np.pi/180 ) + 0.1*noise
sst_max=np.max(sst)
sst_min=np.min(sst)
sst=(sst-sst_min)/(sst_max-sst_min)*30# 创建图形
fig = plt.figure(figsize=(9, 8))# 使用Lambert投影
ax = plt.axes(projection=ccrs.LambertConformal(central_longitude=120, central_latitude=15))# 使用Mercator投影
# ax = plt.axes(projection=ccrs.Mercator())# 设置地图范围
ax.set_extent([lon_min+10, lon_max-10, lat_min+5, lat_max-5], crs=ccrs.PlateCarree())# 绘制SST数据contour = ax.contourf(lon_grid, lat_grid, sst, transform=ccrs.PlateCarree(), cmap='coolwarm',levels=np.linspace(5, 25, 21),extend='both')
cbar = plt.colorbar(contour, orientation='horizontal',pad=0.05,aspect=40,ticks=np.arange(5, 26, 5), extend='both')
cbar.set_label('SST (°C)',fontsize=12)
cbar.ax.tick_params(labelsize=12)# 陆地填充为浅黄色
ax.add_feature(cfeature.LAND, zorder=1,facecolor='lightyellow',edgecolor='black')# 绘制海岸线
ax.add_feature(cfeature.COASTLINE, zorder=1)# 添加经纬网
gl = ax.gridlines(draw_labels=True, linewidth=1, color='gray', alpha=0.5, linestyle='-')
gl.top_labels = False
gl.right_labels = False
gl.xlocator = plt.FixedLocator(np.arange(lon_min, lon_max+1, 5))
gl.ylocator = plt.FixedLocator(np.arange(lat_min, lat_max+1, 5))
gl.xlabel_style = {'size': 12, 'color': 'black'}
gl.ylabel_style = {'size': 12, 'color': 'black'}# 显示图形
outname='SST'
plt.title('Sea Surface Temperature (SST)')
plt.savefig(outname+'.png', format='png', dpi=600)
# plt.savefig(outname+'.pdf', format='pdf', dpi=600)plt.show()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/21495.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MicroPython教程:控制I/O引脚

控制 I/O 引脚 引脚对象用于控制 I/O 引脚(也称为 GPIO - 通用输入/输出)。引脚对象通常与可以驱动输出电压和读取输入电压的物理引脚相关联。pin 类具有设置 pin 模式(IN、OUT 等)的方法以及获取和设置数字逻辑电平的方法。有关…

【四大组件】-- 服务 Service

服务 Service-服务(一)生命周期及使用方式 Service-服务(二)onStartCommand()详解 Service.onStartCommand()详解 什么是服务 它和Activity一样都是Context的子类,只不过它没有UI界面, 是在后台运行的组件。 默认运行在主线程中,因此不要在…

探索不同类型的“低”之魅力

随着数字化转型的浪潮不断高涨,低代码平台(LCDP)已逐渐成为企业快速构建和迭代应用程序的重要工具。低代码平台以其高效、灵活和易于集成的特点,受到越来越多企业的青睐。然而,低代码平台并非一蹴而就的单一产品&#…

CST电磁仿真软件表面等离子极化激元SPP --- 一维光栅耦合 - 衍射模式, 效率, Floquet端口

这两期我们看一下衍射光栅的高阶衍射、衍射效率、反射率。具体到仿真设置,就是Floquet端口的模式分析,S参数与衍射效率和反射率的关系。那么研究这些衍射和表面等离子极化激元SPP有什么关系呢?关系可大了,光栅是一种能够用来激励出…

企业微信群发功能:提升沟通效率,助力企业营销

随着信息技术的快速发展,企业微信作为企业内部沟通和企业对外营销的重要工具,其功能也在不断更新和完善。其中,企业微信的多次群发功能,不仅极大地提升了企业内部的沟通效率,更为企业的对外营销提供了强有力的支持。本…

告别鼠标,安卓模拟鼠标,绘图板,手写板操作电脑PC端,卡卡罗特也说好,儿童节快乐

家人们,上链接了:https://download.csdn.net/download/jasonhongcn/89387887 横屏模式: 竖屏模式: 操作说明: 1. 手势滑动模拟鼠标移动 2. 界面如果有滚动条,右手指按紧,通过左手指移动实现…

react高阶组件——withRouter

withRouter是高阶组件&#xff0c;可以通过 withRouter 获取到 history、location、match 对象。 import { withRouter } from umi;export default withRouter(({ history, location, match }) > {return (<div><ul><li>history: {history.action}</l…

力扣:101. 对称二叉树

101. 对称二叉树 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a;root [1,2,2,3,4,4,3] 输出&#xff1a;true示例 2&#xff1a; 输入&#xff1a;root [1,2,2,null,3,null,3] 输出&#xff1a;false提示&#xff1a; …

mysql DDL——增删改

简略版&#xff1a; 文字化&#xff1a; 1.对全部字段添加数据&#xff1a;insert into 表名 values (值1&#xff0c;值2&#xff0c;值3...); 2.对指定字段添加数据&#xff1a;insert into 表名 (字段名1&#xff0c;字段名2...) values &#xff08;值1&#xff0c;值2..…

跨区域文件管控过程中 如何保障安全和效率?

跨区域文件管控是指在跨越不同地域或区域的情况下对文件进行管理和控制的过程。这种控制可能涉及多个方面&#xff0c;包括安全性、合规性和管理效率等。 为了有效进行跨区域文件管控&#xff0c;组织通常需要采取一系列策略和措施&#xff0c;例如&#xff1a; 1、加密和安全…

java SQLException异常的解决步骤

要解决Java中的SQLException&#xff0c;可以考虑以下几个步骤&#xff1a; 异常处理&#xff1a;在程序中捕获SQLException并进行处理。可以使用try-catch语句块来捕获异常&#xff0c;然后在catch块中处理异常情况。 例如&#xff1a; try {// 执行数据库操作 } catch (SQ…

旺店通·企业奇门和金蝶云星空接口打通对接实战多系统间数据

旺店通企业奇门和金蝶云星空接口打通对接实战 来源系统:旺店通企业奇门 慧策&#xff08;原旺店通&#xff09;是一家技术驱动型智能零售服务商&#xff0c;基于云计算PaaS、SaaS模式&#xff0c;以一体化智能零售解决方案&#xff0c;帮助零售企业数字化智能化升级&#xff0c…

二进制文件(.bin等文件)转C语言数组形式hex文件(.c等文件)

使用python脚本把二进制文件&#xff08;.bin等文件&#xff09;转C语言数组形式hex文件&#xff08;.c等文件&#xff09;&#xff0c;具体代码如下&#xff1a; &#xff08;1&#xff09;读取.bin文件数据 &#xff08;2&#xff09;生成C语言数组定义 &#xff08;3&…

深圳雷龙LSYT201B语音控制模组

文章目录 前言一、芯片简介处理器外设音频蓝牙电源封装温度 二、功能简介管脚描述 三、应用场景四、使用说明五、硬件连接六、FAQ总结 前言 今天拿到的语音控制板是LSYT201B模组&#xff0c;它是深圳市雷龙发展有限公司基于YT2228芯片开发的一款面向智能家居控制的离线语音控制…

第15届蓝桥杯国赛JavaA组个人题解

最后两个概率题不会做, 50分没了 博弈论交了暴力, 30%的分 赛后hack了自己1个填空和一个15分的题 算下来应该是66分, 喜提国一最后一名, rank11 A 田字与直线 题目: 9个点按3*3排成矩阵状, 求恰好经过其中2个点的直线个数 答案 过角的: 4个角, 每个2条 不过角: 4个中点, 4…

员工转正申请精选12个模板供参考

随着社会在不断地进步&#xff0c;我们会经常使用各种各样的申请书&#xff0c;转正申请书就是申请书的一种&#xff0c;那么转正申请书是怎么写的呢&#xff1f;下面是我收集整理的员工转正申请书几个版本&#xff0c;仅供参考&#xff0c;希望能够帮助到大家。别忘了一键三连…

贵的SSL证书跟便宜的SSL证书有什么不一样的?

目前SSL证书市场上从几十块钱的到上万元的都是有的&#xff0c;那么这些着证书之间有什么不同&#xff1f;怎么收费差这么多&#xff1f; 一&#xff1a;从证书的认证安全等级来说 比较便宜的SSL证书一般都是DV验证级别的。也就是说只验证域名的所有权&#xff0c;做一个DNS解…

楼市去金融化, 教育去资本化 ,医疗去市场化

楼市去金融化&#xff0c; 教育去资本化 &#xff0c;医疗去市场化

03.0docker安装

docker简介 docker的主要目标是"Build,Ship and Run any App,Angwhere",构建&#xff0c;运输&#xff0c;处处运行 部署服务&#xff0c;环境问题 一次构建&#xff0c;处处运行 docker是一种软件的打包技术 构建&#xff1a;做一个docker镜像 运输&#xff1a;do…

数据分析常用模型合集(一)AARRR模型和漏斗模型

准备把常用的数据分析模型&#xff0c;像什么AARRR&#xff0c;RFM之类的&#xff0c;逐个全部写一下&#xff1b; 最好能带点案例和代码&#xff0c;搞一个小合集。 最终达到完全不懂的人&#xff0c;看完就能知道得差不多&#xff1b; 数据分析常用模型合集&#xff08;二…