检查两条路线(以纬度和经度表示)是否相互相反
Checking if two routes (expressed in latitude and longitude) are opposing each other
我一直在为这个而烦恼。
我有两条路线:
路线 1
Starting point:
- lat: 44.426767
- lng: 26.102538
Ending point:
- lat: 45.031428
- lng: 23.268939
路线 2
Starting point:
- lat: 45.095770
- lng: 24.362799
Ending point:
- lat: 44.857492
- lng: 24.881478
现在,我知道这两条路线是相反的(如果我在地图上画出来的话),但我不太明白如何用数学方法来说明这一点。
我试过研究数学向量,但我不知道如何通过纬度和经度坐标来表达向量。
如果你能给我一个正确的方向,我将不胜感激,谢谢!
PS: 我需要在php中写公式。
你可以用这样的东西https://gis.stackexchange.com/questions/79633/how-to-determine-vector-between-two-lat-lon-points来计算然后比较。
使用@matri70boss link将你的Lattitude/Longitude转换为X/Y向量,然后你从A(xA,yA)到B(xB,yB)的2条路线对应于向量 v (xB-xA, yB-yA).
所以你的 2 条路线有 2 个向量 v1 和 v2。如果你在它们之间做标量积,积的符号会告诉你它们是否指向相同的方向(如果正:相同方向,负:相反方向,=0:垂直)。
我一直在为这个而烦恼。 我有两条路线:
路线 1
Starting point:
- lat: 44.426767
- lng: 26.102538
Ending point:
- lat: 45.031428
- lng: 23.268939
路线 2
Starting point:
- lat: 45.095770
- lng: 24.362799
Ending point:
- lat: 44.857492
- lng: 24.881478
现在,我知道这两条路线是相反的(如果我在地图上画出来的话),但我不太明白如何用数学方法来说明这一点。 我试过研究数学向量,但我不知道如何通过纬度和经度坐标来表达向量。
如果你能给我一个正确的方向,我将不胜感激,谢谢!
PS: 我需要在php中写公式。
你可以用这样的东西https://gis.stackexchange.com/questions/79633/how-to-determine-vector-between-two-lat-lon-points来计算然后比较。
使用@matri70boss link将你的Lattitude/Longitude转换为X/Y向量,然后你从A(xA,yA)到B(xB,yB)的2条路线对应于向量 v (xB-xA, yB-yA).
所以你的 2 条路线有 2 个向量 v1 和 v2。如果你在它们之间做标量积,积的符号会告诉你它们是否指向相同的方向(如果正:相同方向,负:相反方向,=0:垂直)。