Sha256: 1206c88f87c6a8ec68c5957a31a3d54e188d5da91d1541a59d881bb7afeb369a
Contents?: true
Size: 1.4 KB
Versions: 69
Compression:
Stored size: 1.4 KB
Contents
# -*- coding: utf-8 -*- #= 位置情報 # Rack 化にあわせて gem を見るように begin require 'geokit' rescue LoadError end module Jpmobile # 位置情報 class Position if Object.const_defined?("GeoKit") # GeoKitが読み込まれている場合はMappableにする include ::GeoKit::Mappable def self.acts_as_mappable; end def self.distance_column_name; end def self.lat_column_name; :lat; end def self.lng_column_name; :lng; end end def initialize @lat = nil @lon = nil @options = {} end # 度分秒を度に変換する。 def self.dms2deg(d,m,s) return d.to_i + m.to_i.to_f/60 + s.to_f/3600 end # 日本測地系から世界測地系に変換する。 def tokyo2wgs84! @lat, @lon = DatumConv.tky2jgd(@lat,@lon) end # 文字列で緯度経度を返す。 def to_s sprintf("%s%f%s%f", @lat>0 ? 'N' : 'S', @lat, @lon>0 ? 'E' : 'W', @lon) end # 緯度経度をカンマ区切りで返す def ll "#{lat},#{lng}" end # 緯度 attr_accessor :lat # 経度 attr_accessor :lon # 経度 def lng lon end # 経度を設定 def lng=(l) lon = l end # 緯度と経度が一致している場合に +true+ def ==(x) x.lat == lat && x.lon == lon end # その他の情報 attr_accessor :options end end
Version data entries
69 entries across 61 versions & 1 rubygems