]> git.openstreetmap.org Git - rails.git/blob - app/models/tracepoint.rb
Merge remote-tracking branch 'upstream/pull/3061'
[rails.git] / app / models / tracepoint.rb
1 # == Schema Information
2 #
3 # Table name: gps_points
4 #
5 #  altitude  :float
6 #  trackid   :integer          not null
7 #  latitude  :integer          not null
8 #  longitude :integer          not null
9 #  gpx_id    :bigint(8)        not null
10 #  timestamp :datetime
11 #  tile      :bigint(8)
12 #
13 # Indexes
14 #
15 #  points_gpxid_idx  (gpx_id)
16 #  points_tile_idx   (tile)
17 #
18 # Foreign Keys
19 #
20 #  gps_points_gpx_id_fkey  (gpx_id => gpx_files.id)
21 #
22
23 class Tracepoint < ApplicationRecord
24   include GeoRecord
25
26   self.table_name = "gps_points"
27
28   validates :trackid, :numericality => { :only_integer => true }
29   validates :latitude, :longitude, :numericality => { :only_integer => true }
30   validates :trace, :associated => true
31   validates :timestamp, :presence => true
32
33   belongs_to :trace, :foreign_key => "gpx_id"
34
35   def to_xml_node(print_timestamp: false)
36     el1 = XML::Node.new "trkpt"
37     el1["lat"] = lat.to_s
38     el1["lon"] = lon.to_s
39     el1 << (XML::Node.new("time") << timestamp.xmlschema) if print_timestamp
40     el1
41   end
42 end