2009-11-21 51 views
-1

我以不同的方式提出这个问题,另一个用户让我知道我需要什么,我基本上想转换为“十进制度”。当然转换必须准确。我看到像这样的解决方案,像这样javascript example。我需要红宝石。也许有人可以在Ruby中编写JavaScript,我可以试试,如果这很容易,如果它是正确的?转换度/分/秒到十进制度

基本上我有这个在我的数据库。

<coordinates_east>6'01.4</coordinates_east> 
<coordinates_north>45'05.5</coordinates_north> 

我需要一个用Ruby编写的例程来将它们转换成十进制度以便与Google Maps API一起使用,可能吗?

+2

所以你必须工作代码,但不希望(相当容易)数学翻译成您所选择的语言,并希望我们这样做呢? – ty812 2009-11-21 09:10:10

+0

你明白了,公平点,我会自己尝试。 我不确定该JS代码是否有效,我会尝试。 – Rupert 2009-11-21 09:14:45

+1

作为提示......您的数据不是D°M“S”格式,它是度数 - 分钟(可能是十进制)。您应该能够将分钟部分与适当的最大值分钟在一定程度上,和被罚款。 – ty812 2009-11-21 09:18:52

回答

1

你想要这样吗?尽管不能很好地理解你的问题。

puts "6'01.4".scan(/(\d+)'(\d+)\.(\d+)/).map{|x,y,z|x.to_f+y.to_f/60+z.to_f/3600} 
6.01777777777778 
puts "36'57.9".scan(/(\d+)'(\d+)\.(\d+)/).map{|x,y,z|x.to_f+y.to_f/60+z.to_f/3600} 
36.9525 
+0

感谢,但不正确的,我认为,这些结果并不让我在谷歌地球法国阿尔卑斯山,我在非洲结束了 - 没有多少雪还有试图 – Rupert 2009-11-21 09:58:16

+0

@! [R upert你可以将纬度和经度混合在一起。 – mymlyn 2014-10-20 12:47:03