2011-11-17 9 views
7

Estoy buscando una biblioteca de ruby ​​para exportar datos de ubicación en archivos KML. Los datos que se exportan contienen principalmente puntos simples con latitud y longitud, pero también me gustaría poder exportar polígonos más complejos.Ruby: KML Library?

Intenté kamelopard, pero no me pareció satisfactorio ya que falta un tutorial. No era obvio para mí dónde comenzar a usar la biblioteca. Hay otro candidato que se llama kamel. Lamentablemente no pude instalarlo, debido a una dependencia faltante que no pude resolver.

Entonces, ¿qué biblioteca está utilizando para crear un archivo KML programáticamente en Ruby? ¿O usa the builder gem y crea el XML usted mismo?

Respuesta

9

He resuelto mi problema usando schleyfox-ruby_kml, que es un tenedor de kmlr. Con esto, es fácil generar un kml para un conjunto de marcas de posición. Consulte el siguiente ejemplo del archivo README:

require 'kml' 

kml = KMLFile.new 
folder = KML::Folder.new(:name => 'Melbourne Stations') 
[ 
    ["Flinders St", -37.818078, 144.966811], 
    ["Southern Cross", -37.818358, 144.952417], 
].each do |name, lat, lng| 
    folder.features << KML::Placemark.new(
    :name => name, 
    :geometry => KML::Point.new(:coordinates => {:lat => lat, :lng => lng}) 
) 
end 
kml.objects << folder 
puts kml.render 

La gema también proporciona clases para generar polígonos, etc.