我要的是把经纬度转换为xy平面坐标值,然后,描点,就像 chart控件那样的图示,然后,看轨迹图 

解决方案 »

  1.   

    要在一个欧氏平面上描述一个球面坐标,需要投影。不同的投影算法决定了求得的坐标是不同的。你的代码使用的是高斯投影,也就是等角横切椭圆柱投影,你应该先找一本测绘学的书看看。当然,如果你要描述一个城市范围内的区域,也不需要那么复杂的算法,简单的圆柱投影即可。也就是每相差1纬度,就当作y相差110千米,每相差1经度(假设在北京),相差85千米。我们可以设置某一点为基点,那么对应的坐标只有2行就写出来了。public static Tupe<double, double> GetGPSToXY(double latitude, double longitude)
    {
        Tupe<double, double> r = new Tupe<double, double>();
        r.Item1 = (latitude - 40) * 110; //设 x 原点在 40 度。
        r.Item2 = (longitude - 116) * 85; //设 y 原点在 116 度。
        return r;
    }
      

  2.   

    看lz的数据,lz在成都一带,给你个适合成都的代码:public static Tupe<double, double> GetGPSToXY(double latitude, double longitude)
    {
        Tupe<double, double> r = new Tupe<double, double>();
        r.Item1 = (latitude - 30) * 110; //设 x 原点在 30 度。
        r.Item2 = (longitude - 104) * 96; //设 y 原点在 104 度。
        return r;
    }
      

  3.   

    这个问题 得从地球形成的时候说起 话说........
    //此处省略100W字
    然后......
    //此处省略100W字
    就形成了地球.
    [/Quote]