计算两个坐标之间距离的点

Posted

技术标签:

【中文标题】计算两个坐标之间距离的点【英文标题】:Calculate point at distance between two coordinates 【发布时间】:2020-02-12 07:48:23 【问题描述】:

给定两个点 AB 以及距离 d,我正在尝试计算在 AB 之间的点 C 以及距离点 d 的点 A .

我在考虑使用泰利斯定理,但有更好/更简单的解决方案吗?

干杯!

【问题讨论】:

【参考方案1】:

确定泰勒斯(截距)定理是一种合适的方法,并且当两条相交线之一是坐标轴(例如:latA)时,该定理的退化情况适用

所以,步骤是:

set a variable to the delta rise: deltalat = latB - latA 
set a variable to the delta run: deltalng = lngB - lngA 
compute the full (pythagorean) distance from A to B:  dist = sqrt(deltalat*deltalat + deltalng*deltalng) 
compute angle from horizontal: ang= arcsin(deltalat/dist)
compute new lat: latC = latA + (d * sin(ang))
compute new lng: lngC = lngA + (d * cos(ang))

我脑子里有点快,所以请仔细检查我的触发器。

【讨论】:

以上是关于计算两个坐标之间距离的点的主要内容,如果未能解决你的问题,请参考以下文章

(译)计算距离方位和更多经纬度之间的点

计算两个坐标之间的距离,考虑高度变化的短距离

Android 百度地图API 如何计算两个坐标之间的驾车距离?

计算两个纬度和经度坐标之间的距离

来自 2 或 3 个已知距离的点的坐标

如何使用 Mapbox Kotlin 计算两个坐标之间的距离