类 Resolv::LOC::Coord
常量
- Regex
属性
coordinates[R]
原始坐标
orientation[R]
半球方向,为 ‘lat’ 或 ‘lon’
公共类方法
create(arg) 点击切换源代码
从 arg
创建一个新的 LOC::Coord
,arg
可以是
LOC::Coord
-
返回
arg
。 String
-
arg
必须匹配 LOC::Coord::Regex 常量
# File lib/resolv.rb, line 3226 def self.create(arg) case arg when Coord return arg when String coordinates = '' if Regex =~ arg && $1.to_f < 180 m = $~ hemi = (m[4][/[NE]/]) || (m[4][/[SW]/]) ? 1 : -1 coordinates = [ ((m[1].to_i*(36e5)) + (m[2].to_i*(6e4)) + (m[3].to_f*(1e3))) * hemi+(2**31) ].pack("N") orientation = m[4][/[NS]/] ? 'lat' : 'lon' else raise ArgumentError.new("not a properly formed Coord string: " + arg) end return Coord.new(coordinates,orientation) else raise ArgumentError.new("cannot interpret as Coord: #{arg.inspect}") end end
new(coordinates,orientation) 点击切换源代码
# File lib/resolv.rb, line 3247 def initialize(coordinates,orientation) unless coordinates.kind_of?(String) raise ArgumentError.new("Coord must be a 32bit unsigned integer in hex format: #{coordinates.inspect}") end unless orientation.kind_of?(String) && orientation[/^lon$|^lat$/] raise ArgumentError.new('Coord expects orientation to be a String argument of "lat" or "lon"') end @coordinates = coordinates @orientation = orientation end