lwu (owner)

Revisions

gist: 58280 Download_button fork
public
Description:
Download the OSM XML that contains a given KML (bounding box)
Public Clone URL: git://gist.github.com/58280.git
Embed All Files: show embed
osm_bbox.rb #
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/env ruby
%w[open-uri hpricot].each {|lib| require lib }
 
# get KML bbox and grab OSM XML
raise "no query arg specified" if ARGV.empty?
kml_filename = ARGV[0]
doc = Hpricot(open(kml_filename))
coords = (doc/"coordinates")[0].inner_html.split.map { |x| x.split(',').map {|s| s.to_f } }
 
longs = coords.transpose[0]
lats = coords.transpose[1]
 
puts "$('minlat').value = #{lats.min}; $('maxlat').value=#{lats.max};"
puts "$('minlon').value = #{longs.min}; $('maxlon').value=#{longs.max};"
 
bbox = [longs.min, lats.min, longs.max, lats.max].join(',')
murl = "http://api.openstreetmap.org/api/0.5/map?bbox=#{bbox}"
puts "Downloading #{murl}"
`curl "#{murl}" -o #{kml_filename.split('.')[0]}.osm`