0

I need to develop a compass for a device we are using. This device is directionally unaware (no gyroscope), but has a GPS module. How can I make a compass, with a needle, that leads from a start coordinate (likely their current position) to an end coordinate?

My current thoughts are:

  1. Poll coordinates on the GPS sensor as quickly as appropriate.
  2. Record coordinates where the PDOP is within a respectable range (maybe less than 2.0).
  3. Determine the direction they are facing based on the coordinate changes of them walking.

I have a few issues with this though:

  1. Firstly, the unit has to be moved around to get a sense of where they are.
  2. Doesn't seem like it would be the most accurate, i.e. how many past points do you use to determine direction change?
  3. I'm not really sure if this is a feasible solution. Is there some implementation theory I can read on this?

Is there a better way to solve my problem? The scope of the project involves going from a 'current location' to some geo-tagged item in an oil field.

Using a Windows Mobile 6.5 device - C# on VS2008.

4

3 回答 3

1

我认为您遇到的问题是人们使用指南针的方式与您通过“越来越近”技术实现的目标不符。当您查看指南针时,您倾向于旋转以获得方向感,这在您的情况下会失败,无论您在距离上多么聪明。事实上,手机的方向是无关紧要的,因为它不知道往哪个方向可以调整任何指南针。

我认为您最好放弃指南针的想法并开发一个与您建议的“越来越近”方法一起使用的界面。也许到目标显示器的简单距离会更好?我认为展示一些不应该做的事情可能会适得其反。如果它是卫星导航,在移动的车辆中,那么它可能会起作用,因为您无法在现场轻松旋转,并且它可能会在您旋转之前自行更新。

给它一些进一步的想法,我认为使用地图并用某种线显示你最后的动作(尽管地图可能会相对于用户方向颠倒显示)会更好地定位目标,如果你显示一个向量您当前的位置朝向您的目标。至少如果矢量和您的移动线对齐,您就会知道您的行进方向是正确的。

于 2013-09-10T16:30:57.370 回答
0

在您的情况下,您只能创建一个显示您正在移动的地理方向的工具。当用户将设备指向他正在移动的方向时,这等于(或更好)然后是指南针。

这不等于指南针,但在某些情况下甚至更有用:例如,在使用磁场的指南针无法正常工作的车辆内部。

GPS 具有“航向”属性。只需使用它,你就准备好了。

于 2013-09-17T21:21:42.737 回答
0

如果我站在你的立场上,我会在屏幕上显示一条通知,告诉用户始终保持设备顶部指向行进方向。当他们移动时,使用他们当前的位置和他们最后的已知位置来计算他们前进的方向。然后根据他们当前的位置和目标的位置计算他们应该移动的方向。然后计算他们的行进方向和他们应该行进的方向之间的差异,并使用该差异在屏幕上指向一个箭头,该箭头显示他们应该相对于他们当前的方向前进的方向。

这是一个示例:让 D 代表行驶方向。假设在此示例中为 100 度。让 T 代表他们应该行进以到达目标的方向。假设在这个例子中是 90 度。T - D = -10,所以在屏幕上画一个从直线向上指向 -10 度的箭头。请记住,如果他们按照我之前提到的说明进行操作,则直接向上与 D 相同。这意味着箭头指向 D-10,即 90 度,这是他们应该去的方向。

现在您遇到了另一个问题:如果它们停止移动,您将无法再判断设备指向的方向。在这种情况下,隐藏箭头并让用户知道一旦 GPS 再次开始移动,它就会返回。

最后要记住的是,纬度变化 1 度比经度变化 1 度表示距离更远,因此确定航向并不像您想象的那么简单。这是一篇文章的链接,该文章告诉您如何根据 2 个 GPS 点计算航向:http ://www.movable-type.co.uk/scripts/latlong.html

祝你好运!

编辑:大多数 GPS 设备都会为您提供行进方向,但除非您使用 GPS 在计算应行进方向时使用的相同算法,否则可能存在差异,导致您的箭头有点偏离。

于 2013-09-10T22:24:37.427 回答