Php 将DDM转换为DEC(十进制度数)
我有一组坐标,格式为DDM(Degrees decimal minutes),需要将其转换为十进制度数。 从找到的函数中,我可以转换DMS,但我没有找到一个函数或公式,可以将DDM转换为DEC 例如,坐标可以是: 北纬64度0分,西经22度33分 从转换工具我知道结果是:64,-22,55 所以问题是如何转换DDM格式 编辑:Php 将DDM转换为DEC(十进制度数),php,coordinates,geo,degrees,Php,Coordinates,Geo,Degrees,我有一组坐标,格式为DDM(Degrees decimal minutes),需要将其转换为十进制度数。 从找到的函数中,我可以转换DMS,但我没有找到一个函数或公式,可以将DDM转换为DEC 例如,坐标可以是: 北纬64度0分,西经22度33分 从转换工具我知道结果是:64,-22,55 所以问题是如何转换DDM格式 编辑: 数据来自如下表: [Latitude_degrees]: 64 [Latitude_minutes]: 0 [Latitude_hemisphere]: N [Longi
数据来自如下表:
[Latitude_degrees]: 64
[Latitude_minutes]: 0
[Latitude_hemisphere]: N
[Longitude_degrees]: 22
[Longitude_minutes]: 33
[Longitude_hemisphere]: W
简单数学
作为伪代码:
Latitude = Latitude_degrees + Latitude_minutes / 60
if Latitude_hemisphere = 'S' then
Latitude = -Latitude
经度的等效值你是否真的有一个字符串值“64度0分N,22度33分W”?如果是这样,您需要提取数字,以及N/S和E/W(使用sscanf或regexps可以轻松完成)。。。。这是你的出发点;然后是简单的数学数据来自这样一个表格:【纬度度】【纬度分钟】【纬度半球】64,0,N【经度度度】【经度分钟】【经度半球】22,33,当它是简单的数学:
Latitude=Latitude\u degrees+Latitude\u minutes/60
如果Latitude\u hemission='s'
那么Latitude=-Latitude
。。。。与之相当的是,这似乎确实有效。你能把这句话写进一个答案吗,非常感谢:)