代码之家  ›  专栏  ›  技术社区  ›  Sergey

GPS跟踪器坐标转换为google地图格式及精度

  •  0
  • Sergey  · 技术社区  · 15 年前

    我拥有gps跟踪器,可以将纬度和经度发送到我的服务器,如gps跟踪器手册中所述(例如纬度,经度相同):

    xxmm.dddd, where
    xx = degrees;
    mm = minutes;
    dddd = decimal part of minutes; for example 11 deg. 26.6639 min.
    

    我想把收到的坐标转换成谷歌地图格式,为此我使用的公式是:

    result = xx + (mm.dddd)/60
    

    因为,有一个除法结果可以表示为周期分数,例如-1.6666(6),但这是非常糟糕的,因为我失去了太多的GPS精度。

    问题

    1. 我接收坐标的格式名是什么?
    2. 谷歌地图使用的格式名称是什么?
    3. 将接收到的gps位置转换为谷歌地图格式的最佳公式是什么?
    2 回复  |  直到 15 年前
        1
  •  2
  •   Galen    15 年前
    1. 度,分,秒
    2. 十进制度
    3. 十进制度数=度数+(分/60)+(秒/3600)
        2
  •  0
  •   MasterAM    12 年前

    如果您想将DDD MM.MMM转换为十进制度数,我假设您知道该位置的东北-东南或西部。

    1. 格式名为DMS(Degress Minutes&Seconds),即地理坐标系。
    2. 用于将DMS转换为十进制度数:D+(M/60)+(S/3600)等 盖伦

    int xD = 020;
    int xM = 10;
    int xS = 7587;
    

    经度示例:

    int yD = 130;
    int yM = 50;
    int yS = 5475;
    

    转换:

    Lat = 020+(10/60)+(7587/3600);
    Lon = 130+(50/60)+(5475/3600);