2015-04-23 180 views
1

在ruby或gem中是否有函数将方向(标题中的示例)的字符串转换为度为度的轴承,轴承定义为如下?将方向(N,S,SE,SSE等)转换为方位角

一个数值表示以度为单位的方向,真北方向为0°,顺时针方向。

+0

这是一个或两个班轮,也许有人已经将此作为一个更大包装中的实用方法来做,但我怀疑有这样的东西可以独立存在。 –

回答

3

这适用于8个主要基本方向:

def cardinal_direction_degrees(s) 
    h = {n: 0, ne: 45, e: 90, se: 135, s: 180, sw: 225, w: 270, nw: 315} 
    h[s.to_s.downcase.to_sym] 
end 

puts cardinal_direction_degrees('N') #=> 0 
puts cardinal_direction_degrees('SW') #=> 225 

您可以轻松地通过添加更多的元素,哈希加入剩余的方向。

+0

正是我需要的。谢了哥们! :) –

+0

我刚刚为此创建了[compass_point](https://github.com/infused/compass_point)gem并添加了完整的32个指南针点。 – infused

相关问题