3

我正在使用 GPS 来计算两点之间的距离,即我使用 windows phone 作为卷尺但是当我开始时我没有得到正确的值事实上即使我站着不动它给了我数百米

这是我的代码

      myWatcher.StatusChanged += new EventHandler<GeoPositionStatusChangedEventArgs>(myWatcher_StatusChanged);
        myWatcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(myWatcher_PositionChanged);
        myWatcher.MovementThreshold = 1;   

void myWatcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
    {
        double tempf = e.Position.Location.Latitude;
        double temps = e.Position.Location.Longitude;
        if (count2 == 0)
        {
            FirstLocation = new GeoCoordinate(tempf, temps);
            count2++;
        }
        else
        {
             double distanceInMeter;
            GeoCoordinate currentLocation;
                currentLocation = new GeoCoordinate(tempf, temps);
                distanceInMeter = currentLocation.GetDistanceTo(FirstLocation);                   

                if (App.flag == 0)
                {
                    textBlock1.Text = distanceInMeter.ToString() + " m";
                    double distanceInCm = distanceInMeter * 100;
                    textBlock2.Text = distanceInCm .ToString() + " cm";
                }
                else if (App.flag == 1)
                {
                    double distanceInInch = distanceInMeter * 39.3701;
                    textBlock1.Text = distanceInInch.ToString() + " in";
                    double distanceInFoot = distanceInMeter * 3.28084;
                    textBlock2.Text = distanceInFoot.ToString() + " ft";
                }
        }

    }
4

3 回答 3

1

到目前为止,准确性不是问题。我运行这个应用程序,当前位置的读数不断变化,而我将运动阈值设置为 1 意味着需要覆盖 1 米的距离才能调用 PositionChanged 事件,但即使我还在,读数也会不断变化

于 2012-12-11T19:24:58.640 回答
1

GPS 最多只能精确到 3 米。更可能的错误是 5 - 10 米。

您将不得不增加GPS 读数以获得更好的准确性。

于 2012-12-11T18:19:19.147 回答
0

这里的其他海报通常是正确的:GPS 不会为您提供所需的准确性。至少不是一个人!

假设您确实有一个良好的卫星定位,您可以获得厘米的精度,但这需要使用来自特殊固定站的信息或来自此类站的实时数据进行后处理。这里的流行语是“实时相位差分”、“实时运动学”、“相位差分后处理”。

这个网站有一些细节。

因此,如果您可以访问提要,则有可能。但这不会像您希望的那么容易。

于 2012-12-11T18:32:11.643 回答