Ruby GPX анализатор файлов - PullRequest
3 голосов
/ 07 июня 2010

Посоветуйте, что может разобрать файл GPX в Ruby?

Я пробовал gpx , но он не работает с Ruby Enterprise Edition (https://github.com/dougfales/gpx/issues/1).

Я бы не хотел писать парсер.

1 Ответ

11 голосов
/ 15 июля 2010

Я искал то же самое, но, в конце концов, файл 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

Возможно, есть лучшие способы сделать это, но это работает для меня.

...