我正在一个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 "
- 将S除以60得到X
- 查找Y
- 将Y除以60得到F
- 答案= 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