Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'open-uri'
- require "net/http"
- require 'rexml/document'
- def query_overpass(object_type, left,bottom,right,top, key, value)
- base_url = "http://www.overpass-api.de/api/xapi?"
- query_string = "#{object_type}[bbox=#{left},#{bottom},#{right},#{top}][#{key}=#{value}]"
- url = "#{base_url}#{URI.encode(query_string)}"
- resp = Net::HTTP.get_response(URI.parse(url))
- data = resp.body
- return data
- end
- overpass_result = REXML::Document.new(query_overpass("node", 7.1,51.2,7.2,51.3,"amenity","restaurant|pub|ice_cream|food_court|fast_food|cafe|biergarten|bar|bakery|steak|pasta|pizza|sushi|asia|nightclub"))
- overpass_result.elements.each('osm/node') {|x|
- if !x.elements["tag[@k='name']"].nil?
- print x.elements["tag[@k='name']"].attributes["v"]
- end
- print " | "
- if !x.elements["tag[@k='addr:postcode']"].nil?
- print x.elements["tag[@k='addr:postcode']"].attributes["v"]
- print ", "
- end
- if !x.elements["tag[@k='addr:city']"].nil?
- print x.elements["tag[@k='addr:city']"].attributes["v"]
- print ", "
- end
- if !x.elements["tag[@k='addr:street']"].nil?
- print x.elements["tag[@k='addr:street']"].attributes["v"]
- print ", "
- end
- if !x.elements["tag[@k='addr:housenumber']"].nil?
- print x.elements["tag[@k='addr:housenumber']"].attributes["v"]
- end
- print " | "
- print x.attributes["lat"]
- print " | "
- print x.attributes["lon"]
- print " | "
- if !x.elements["tag[@k='website']"].nil?
- print x.elements["tag[@k='website']"].attributes["v"]
- end
- print " | "
- if !x.elements["tag[@k='amenity']"].nil?
- print x.elements["tag[@k='amenity']"].attributes["v"]
- print " | "
- end
- puts
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement