如何基于坐标创建向量?

2024-05-23 14:32:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一组经纬度格式的坐标和一组基于这些坐标的方向。我可以用斧头箭把它们画成箭头,但是我可以制作一个向量集来记录这些箭的方向吗

ax.quiver(lons,lats,dx,dy,headwidth=0.8,headlength=0,scale=35,width=0.008,
      transform=ccrs.PlateCarree())

这里我有lontitudes,纬度和dx,dy作为箭头方向。我可以将这些箭头提取为向量并创建数组吗

附加组件—我试图获取这些箭头的方向(以度为单位)

非常感谢


Tags: 格式记录箭头ax方向向量经纬度quiver
1条回答
网友
1楼 · 发布于 2024-05-23 14:32:44

给定两个矢量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()

Quiver plot

enter image description here

你可以在KhanAcademy上找到关于这一点的有用信息

相关问题 更多 >