转换纬度/经度值(DMS+指南针方向格式)到相应的小数点值在Android



我正在一个Java android项目上工作,并有以下问题。我搜索了这么多,但我仍然有转换DMS格式的纬度/经度值的问题(例如:38°2'56 " N, 122°9'28 " W)为其相应的十进制度格式。

需要转换为相应的十进制格式的示例值。

38°49 59"N, 26°E 56 59"

38°2》56"N, 122°28"W

34°52 58"年代,56个10°58"W

谢谢

当你把DMS转换成十进制时,你所做的就是除以60。S除以60,再加上M,再除以60,再加上d。

第二部分处理坐标所指向的方向。想象一对坐标轴,它们的指南针方向都在正确的位置(即,上是N,右是E,下是S,左是W)。这意味着任何与指向S或W的DMS值相对应的十进制度数都将是负的。

38°2》56"N, 122°28" W -> 38.048889, -122.157778

D°M'S "

  1. 将S除以60得到X
  2. 查找Y
  3. 将Y除以60得到F
  4. 答案= D + F

将DMS转换为DEGREE

Degrees = D + ((S/60)+M)/60

其中D、M和S为构成DMS格式的值:D°M'S "

你可以用Sherif的公式来检查你的工作:http://transition.fcc.gov/mb/audio/bickel/DDDMMSS-decimal.html

最新更新