【问题标题】:Coordinates of a point from 2 or 3 known points with distances来自 2 或 3 个已知距离的点的坐标
【发布时间】:2016-09-28 07:48:38
【问题描述】:

我想在三种情况下计算一个点(纬度和经度):

  1. 三个点与我的位置的距离可用
  2. 有两个点到我的位置的距离可供使用

对于 1. 案例我已经有了解决方案Trilateration Method Android Java

但是对于 2. 案例我什么也没得到。

有谁知道,知道另外两个,我如何计算这一点?

是否有用于类似“地理”任务的 Java 库(或至少是伪代码)?

这里是两点问题的图片。其中一个在墙后面,所以我只做决定,两个哪个更好(使用蓝牙低功耗我可以比较 RSSI)

【问题讨论】:

标签: java android geolocation geopoints trilateration


【解决方案1】:

您需要知道三个点以及到您所在位置的距离才能定义一个点。请看下图:

情况一般。对于任意两个点,您可以像上图那样绘制它们。然后对于已知距离y 到左侧,您会找到距离右侧x 的点,这些是所需位置的可能位置。

到两点的两个距离不定义一个点。他们给了两分。

问题:如何计算这些点?使用毕达哥拉斯定理。

Assume two points O1(x1,y1) and O2(x2,y2) and desired points P3, P4.
(x4-x1)^2 + (y4-y1)^2 = dist1
(x3-x1)^2 + (y3-y1)^2 = dist1
(x4-x1)^2 + (y4-y1)^2 = dist2
(x3-x1)^2 + (y3-y1)^2 = dist2

你有 4 个方程和 4 个未知数。计算。然后希望有一点在与安装应用程序的手机不同的国家/地区。提示可以在here找到。

在看到问题的更新后,我可以告诉你,其中一个点将具有房间外的坐标,可以通过将点的坐标与 max/min x/y 进行比较来轻松检查。

【讨论】:

  • 您是正确的,但是如果您指定环境(墙壁等),则可以验证两点中的哪一个是所需的。您可以通过计算两个圆与您测量距离的半径的交叉点来计算这两个点
  • @AkkaJaworek 你是对的......如果我得到这两点,那么我可以决定选择其中之一。
  • 如果您觉得我的想法有帮助(这就足够了),请随时为答案投票,并通过单击分数下方的灰色勾号将其标记为解决方案。 @MorganChane
  • @xenteros 我即将对其进行编码,并且正在进行“现场实验”。然后求解方程组...
  • @MorganChane stackoverflow.com/questions/3349125/… 可能会有所帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-29
  • 2010-09-26
  • 2022-11-02
  • 1970-01-01
  • 1970-01-01
  • 2020-02-12
  • 1970-01-01
相关资源
最近更新 更多