将GPS解析到度数

时间:2009-10-15 17:58:05

标签: c# gps

如何将字符串坐标(如33°58'9“S 18°35'51”E)的GPS解析为例如用于计算GPS坐标之间距离的双重类型。

C#编程语言,用户将输入GPS坐标作为字符串(上面的样本)。

1 个答案:

答案 0 :(得分:3)

正如评论部分已经说明的那样

  1. 在符号上拆分字符串 并取得学位,分钟和 秒部分单独。
  2. 度和分钟将是整数,秒字段可能具有小数部分并且需要浮点输入功能。这取决于您的位置准确度/分辨率。
  3. 以度+ +(MIN / 60)+(SEC / 3600)计算值//忽略Typecasts
  4. 根据N,S,E,W将符号应用于结果。按惯例,N和E为正,S和W为负
  5. 现在,您需要计算点之间的距离,这可能需要将坐标从度数转换为弧度,以允许使用标准的trig库。

    distance = 2*asin(sqrt((sin((lat1-lat2)/2))^2 + 
                      cos(lat1)*cos(lat2)*(sin((lon1-lon2)/2))^2))