javascript - 纬度/经度上的几何(弧上点的投影)

标签 javascript math latitude-longitude

我只想检查投影是否有一个点(纬度,经度)与 2 个点(纬度,经度)给出的弧相交,如果有,我想找到它(纬度,经度)。

能否将 (lat, long) 用作二维向量空间,使该问题与笛卡尔坐标中的问题类似?准确度如何?

虽然 Link 上的答案有助于获取到圆弧的距离,我如何知道交点是否位于用于查找大圆的点之间?另外,是否可以解决这个问题而不必使用切换到笛卡尔坐标?

最佳答案

有两种方法可以解决这个问题。

第一个假设两点之间有一条直线 - 尽管实际上,这样的线会与地球相交。

第二个实际上确定了两点之间的大圆路线,即实际沿着地球表面并连接两点的最小长度弧。为此,您必须使用坐标变换来生成两个表面点的方向余弦向量。称他们为 A 和 B。

要确定 C 是否位于该弧上,您不能像作弊并使用穿过地球的线段那样进行线性插值。相反,您还需要计算 C 的方向余弦。如果 Angular AC、BC 和 AB 都相等,则 C 位于 A 和 B 之间。可以通过计算相应方向余弦的点积并计算其反余弦来确定 Angular 。

关于javascript - 纬度/经度上的几何(弧上点的投影),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38724560/

相关文章:

javascript - 计算下一个纬度

math - 如何测试随机性(例如 - 洗牌)

c++ - OpenGL 矩阵乘法 C++

php - index.php 中的多个 jquery 对话框

javascript - 在逐个测试的基础上开 Jest 模拟类方法

algorithm - (文本表示的)整数的任意基数转换算法

c# - EF5、SQL Server、经度和纬度

google-maps-api-3 - 谷歌地图 api 给出的纬度/经度单位

JavaScript:while 循环中的异步方法

php - 如何更改PDF文件