我有一组经纬度格式的坐标和一组基于这些坐标的方向。我可以使用 ax.quivers 将它们绘制为箭头,但是我可以制作一个记录这些箭袋方向的向量集吗?ax.quiver(lons,lats,dx,dy,headwidth=0.8,headlength=0,scale=35,width=0.008,
transform=ccrs.PlateCarree())这里我有经度、纬度和 dx,dy 作为箭头方向。我可以将这些箭头提取为向量并创建一个数组吗?添加 - 我试图获取这些箭头的方向(以度为单位)。非常感谢!
1 回答
幕布斯7119047
TA贡献1794条经验 获得超8个赞
给定两个向量 dx 和 dy,您可以使用以下方法计算方向:
dir_rad = np.arctan2(dy, dx)
它以弧度为单位,所以如果你想将其转换为度数:
dir_deg = dir_rad*180/np.pi
此外,这将用+/-符号表示,指示方向是在上象限还是下象限。例如,-45°表示右下象限。如果您想要 0 到 360 度范围内的值,请使用:
dir_360deg = (dir_deg+360)%360
例子:
x = np.arange(-10,10)
y = np.arange(-10,10)
xx,yy = np.meshgrid(x,y)
plt.quiver(xx,yy)
dir_360deg = (360+np.arctan2(yy,xx)*180/np.pi)%360
plt.imshow(dir_360deg)
plt.colorbar()
添加回答
举报
0/150
提交
取消