首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据方位角近似坐标?

如何根据方位角近似坐标?
EN

Stack Overflow用户
提问于 2020-12-06 14:43:37
回答 1查看 77关注 0票数 0

假设我有一系列(不完美的)方位读数,给出了一些点之间模糊的角度。从点A,B,C投影的线显然--不总是--永远不会在一个点上汇合来定义点D的位置。因此,从A,B和C的角度来看,需要调整角度。

为了让它更有趣,我可能会更确定特定点的相对位置(假设我在卫星图像上找到它们,或者我知道它们是完全朝北向南的),所以我可能希望在计算中使用这种确定性,并且完全不调整特定的角度。

我应该用什么方法来平均得到的坐标,以达到“最精确”的整体形状?

我考虑过将未调整的角度和调整的角度之间的差异视为“张力”,并试图在随后的传球中“缓解”它,但这种方法优先考虑先前计算的点数。

另一种方法可以是计算集合中的总“张力”,然后随机地抖动所有角度,看看是否会导致较小的张力,并重复可能改进的结果,试图进化出一个可能更好的解决方案。

EN

回答 1

Stack Overflow用户

发布于 2020-12-07 13:13:08

据我所知,你有一堆未知的点(p[]说)和一些方位角的测量,比如π的pj的Azi,j。你想要找到点的坐标。

你需要解决一个问题。这是因为如果p[]的值是一个解--即给定测量的方位角-- q[]也是这样,对于某个固定的x,

代码语言:javascript
复制
q[i] = p[i] + x

我想你应该修一下p。

你还需要确定一个距离。这是因为如果p[]是一个解决方案,q[]也是这样,现在对于一些固定的s来说,

代码语言:javascript
复制
q[i] = p[0] + s*(p[i] - p[0])

我假设你修正了dist(p,p1),并且存在和方位Az1,2,你最好选择p p1,这样它们之间就有了可靠的方位。然后我们就可以计算p1了。

处理这类问题的通常方法是最小二乘法。也就是说,我们寻求p[]最小化

代码语言:javascript
复制
    Sum square( (Az[i,j] - Azimuth( p[i], p[j]))/S[i,j])
where Az[i,j] is your measurement data
      Azimuth( r, s) is the function that gives the azimuth of the point s from the point r
      S[i,j] is the 'sd' of the measurement A[i,j] -- the higher the sd of a particular observation is, relative to the others, the less it affects the final result.

这是一个非线性最小二乘问题。这方面有很多可用的求解者,但一般来说,除了提供数据-- Az[]和S[] --以及观测模型--方位函数--你需要提供状态的初步估计--所寻求的值,在你的例子中是p2。很有可能,如果你的初步估计是错误的,解决者将失败。

找到这个估计值的方法之一是从一个已知点指数的集合K开始,并寻求扩展它。首先,K是{0,1}。然后寻找在K中有尽可能多的方位角的点,这些点从已知的点和方位角几何地估计它们的位置,并把它们加到K中,如果在K的末尾有所有的K点,那么你可以继续到最小二乘法。如果另一对初始不动点不可能做得更好,或者你被卡住了。

后一种情况确实有可能发生。例如,假设有点p,p1,p2,p3和方位A0,1,2,A1,3,A2,3,如上所述,我们确定了p和p1的位置。但是我们无法计算p2和p3的位置,因为我们不知道2或3与1之间的距离。1,2,3三角形可以任意缩放,并且仍然给出相同的方位。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65169302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档