如何在JavaScript中进行GPS坐标三角测量?

How to perform GPS coordinates triangulation in JavaScript?

我有两个 GPS 坐标和到每个点的距离。我想自动计算符合这些约束条件的两个可能的 GPS 坐标。

关于如何开始的任何想法?

您可能会使用诸如反向半正弦函数之类的东西。 我们对 python haversine 包提出了一些建议,但没有投入生产。 https://github.com/mapado/haversine/pull/19

正如 Brad 所建议的,数学可能会对您有所帮助。一旦你得到一个代表你的两个圆的公式,你“只”需要找到给你交点的算法(零,两个或无限)

您可以使用 Turf.js 库在 JavaScript 中执行高级地理空间分析。三角测量是众多可能性之一。

下面是三角剖分的代码示例,用于查找与两个距离约束相匹配的点。

const center1 = [1.56, 44.58];
const distance1 = 127;
const circle1 = turf.circle(center1, distance1, {
  steps: 1000,
  units: "kilometers"
});

const center2 = [1.89, 44.97];
const distance2 = 89;
const circle2 = turf.circle(center2, distance2, {
  steps: 1000,
  units: "kilometers"
});

const intersections = turf.lineIntersect(circle1, circle2);
console.log(intersections);
// Outputs: [1.49712, 45.72128] and [3.01305, 45.07238]

来源:https://tzi.fr/js/triangulation/