class method
Resolv::LOC::Coord.create
(::Resolv::LOC::Coord | ::String arg) -> instance
create(arg)
lib/resolv.rb
View on GitHub ↗
# File tmp/rubies/ruby-4.0.0/lib/resolv.rb, line 3335
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
Creates a new LOC::Coord from arg which may be:
LOC::Coord-
returns
arg. String-
argmust match theLOC::Coord::Regexconstant