根据百分比计算两个坐标之间的点

mig*_*gnz 7 javascript geocoding coordinates

我正在寻找一个函数,它返回两点之间的点(lat,long)(我也指定它们的lat,long),并且该点基于距离百分比.

因此,我在函数上指定Lat1,Lon1,Lat2,Lon2和%,并返回一个点,例如,从第一个点到第二个点的距离为20%.

lgu*_*iel 11

假设坐标是十进制数.你可以使用这个等式.

function midpoint(lat1, long1, lat2, long2, per) {
     return [lat1 + (lat2 - lat1) * per, long1 + (long2 - long1) * per];
}
Run Code Online (Sandbox Code Playgroud)

根据百分比(例如per = 0.2,20%)返回[lat,long]的新所需坐标.

  • lat long的中点通常不是该公式计算的中点,因为它们是球体上的坐标,而不是平面. (3认同)
  • Iguiel我也想到了这一点,但它并不像那样.例如,对于P1(37.740675,-25.661043)和P2(37.738096,-25.669267),20%返回P3(7.5478771,-5,133031).这使我在非洲而不是P1和P2之间的亚速尔群岛. (2认同)