Я искал то же самое, но, в конце концов, файл GPX - это просто еще один файл XML, так что вы можете проанализировать его с помощью библиотек разбора XML, таких как Nokogiri . Вот как я извлекаю все широты и долготы из журнала GPX:
#!/usr/bin/env ruby
require 'rubygems'
require 'nokogiri'
doc = Nokogiri::XML(open(my-log.gpx))
trackpoints = doc.xpath('//xmlns:trkpt')
points = Array.new
trackpoints.each do |trkpt|
points << [trkpt.xpath('@lat').to_s.to_f, trkpt.xpath('@lon').to_s.to_f]
end
Возможно, есть лучшие способы сделать это, но это работает для меня.