Class: Jpmobile::Position

Inherits:
Object
  • Object
show all
Includes:
GeoKit::Mappable
Defined in:
lib/jpmobile/position.rb

Overview

位置情報

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializePosition

Returns a new instance of Position.



35
36
37
38
39
# File 'lib/jpmobile/position.rb', line 35

def initialize
  @lat = nil
  @lon = nil
  @options = {}
end

Instance Attribute Details

#latObject

緯度



62
63
64
# File 'lib/jpmobile/position.rb', line 62

def lat
  @lat
end

#lonObject

経度



65
66
67
# File 'lib/jpmobile/position.rb', line 65

def lon
  @lon
end

#optionsObject

その他の情報



83
84
85
# File 'lib/jpmobile/position.rb', line 83

def options
  @options
end

Class Method Details

.acts_as_mappableObject



16
17
# File 'lib/jpmobile/position.rb', line 16

def self.acts_as_mappable
end

.distance_column_nameObject



19
20
# File 'lib/jpmobile/position.rb', line 19

def self.distance_column_name
end

.dms2deg(d, m, s) ⇒ Object

度分秒を度に変換する。



31
32
33
# File 'lib/jpmobile/position.rb', line 31

def self.dms2deg(d, m, s)
  d.to_i + (m.to_i.to_f / 60) + (s.to_f / 3600)
end

.lat_column_nameObject



22
23
24
# File 'lib/jpmobile/position.rb', line 22

def self.lat_column_name
  :lat
end

.lng_column_nameObject



26
27
28
# File 'lib/jpmobile/position.rb', line 26

def self.lng_column_name
  :lng
end

Instance Method Details

#==(other) ⇒ Object

緯度と経度が一致している場合に true



78
79
80
# File 'lib/jpmobile/position.rb', line 78

def ==(other)
  other.lat == self.lat && other.lon == self.lon
end

#llObject

緯度経度をカンマ区切りで返す



57
58
59
# File 'lib/jpmobile/position.rb', line 57

def ll
  "#{lat},#{lng}"
end

#lngObject

経度



68
69
70
# File 'lib/jpmobile/position.rb', line 68

def lng
  self.lon
end

#lng=(l) ⇒ Object

経度を設定



73
74
75
# File 'lib/jpmobile/position.rb', line 73

def lng=(l)
  self.lon = l
end

#to_sObject

文字列で緯度経度を返す。



47
48
49
50
51
52
53
54
# File 'lib/jpmobile/position.rb', line 47

def to_s
  '%s%f%s%f' %
    [
      (@lat > 0) ? 'N' : 'S',
      @lat, (@lon > 0) ? 'E' : 'W',
      @lon
    ]
end

#tokyo2wgs84!Object

日本測地系から世界測地系に変換する。



42
43
44
# File 'lib/jpmobile/position.rb', line 42

def tokyo2wgs84!
  @lat, @lon = DatumConv.tky2jgd(@lat, @lon)
end