python--计算纬度/经度格式的网格点之间的实际距离

前言

  • 一般在处理海洋、气象数据时,往往会通过一些收支方程来对某一气象要素进行诊断分析,而大部分的诊断方程往往都会包含对于变量的偏导。比如dTdx,DTdy等。而一般得到的经纬度的单位为弧度,而dx的单位为m。所以需要将单位进行转换,以下简单介绍一下计算的方法

1、使用metpy的函数

  • metpy.calc.lat_lon_grid_deltas(longitude, latitude, x_dim=- 1, y_dim=- 2, geod=None)
    只需要传入经度和纬度数据即可得到dx和dy

2、第二种方法,通过numpy计算

xlon,ylat=np.meshgrid(lon,lat)
dlony,dlonx=np.gradient(xlon)
dlaty,dlatx=np.gradient(ylat)
pi=3.14159265
re=6.37e6
dx=re*np.cos(ylat*pi/180)*dlonx*pi/180
dy=re*dlaty*pi/180

以上两种方法亲测可行,之间直接跑通

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

简朴-ocean

继续进步

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

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

打赏作者

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

抵扣说明:

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

余额充值