Sha256: e4149dae6c2be6a097e976fa2c76a40b915de894a8aaeff418ffcc2f34498cdd

Contents?: true

Size: 1.14 KB

Versions: 4

Compression:

Stored size: 1.14 KB

Contents

require 'nokogiri'
require 'builder'

module TF1Converter

  class Waypoint
    def initialize(gpx)
      @gpx = gpx
    end

    def to_xml
      gpx_doc = Nokogiri::XML(@gpx)
      wpt_node = gpx_doc.xpath('//wpt').first

      kml_builder = Builder::XmlMarkup.new

      kml_builder.placemark do |placemark|
        placemark.name(gpx_doc.xpath('//name').first.text)
        placemark.Snippet(:maxLines => "0")

        placemark.Style(:id => "normalPlacemark") do |style|
          style.IconStyle do |is|
            is.Icon do |i|
              i.href
            end
          end
        end

        placemark.description do |desc|
          timestamp = gpx_doc.xpath('//desc').first.text
          utm = nil
          usng = nil
          filepaths = ''
          desc.cdata!(%Q{#{timestamp}<br>Search Start<br>KML file, track, and waypoint comment.<br>USNG:  #{usng}<br>UTM:  #{utm}<br>#{filepaths}})
        end

        placemark.point do |point|
          lon = wpt_node.attributes['lon'].value
          lat = wpt_node.attributes['lat'].value
          coords = "#{lon},#{lat}"
          point.coordinates(coords)
        end
      end
    end

  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
tf1_converter-0.1.2 lib/tf1_converter/waypoint.rb
tf1_converter-0.1.1 lib/tf1_converter/waypoint.rb
tf1_converter-0.1.0 lib/tf1_converter/waypoint.rb
tf1_converter-0.0.1 lib/tf1_converter/waypoint.rb