Files
mapknitter/lib/parse_kml.rb
2010-02-25 16:16:58 -05:00

17 lines
424 B
Ruby

require 'net/http'
require 'uri'
gem 'crack'
require 'crack'
class ParseKml
def self.parse(url)
kml = Net::HTTP.get URI.parse(url)
id = kml.hash.to_s + rand(999999999).to_s
File.open("tmp/gpsbabel/#{id}.kml", 'w') do |f|
f.write(kml)
end
system "gpsbabel -i kml -f tmp/gpsbabel/#{id}.kml -o osm -F tmp/gpsbabel/#{id}.osm"
osm = IO.read("tmp/gpsbabel/#{id}.osm")
return Crack::XML.parse(osm)
end
end