class Geocoder::Result::Photon
Public Instance Methods
address(_format = :full)
click to toggle source
# File lib/geocoder/results/photon.rb, line 9 def address(_format = :full) parts = [] parts << name if name parts << street_address if street_address parts << city parts << state if state parts << postal_code parts << country parts.join(', ') end
bounds()
click to toggle source
# File lib/geocoder/results/photon.rb, line 73 def bounds properties['extent'] end
city()
click to toggle source
# File lib/geocoder/results/photon.rb, line 40 def city properties['city'] end
coordinates()
click to toggle source
# File lib/geocoder/results/photon.rb, line 60 def coordinates return unless geometry return unless geometry[:coordinates] geometry[:coordinates].reverse end
country()
click to toggle source
# File lib/geocoder/results/photon.rb, line 52 def country properties['country'] end
country_code()
click to toggle source
# File lib/geocoder/results/photon.rb, line 56 def country_code '' end
geometry()
click to toggle source
# File lib/geocoder/results/photon.rb, line 67 def geometry return unless data['geometry'] symbol_hash data['geometry'] end
house_number()
click to toggle source
# File lib/geocoder/results/photon.rb, line 28 def house_number properties['housenumber'] end
name()
click to toggle source
# File lib/geocoder/results/photon.rb, line 5 def name properties['name'] end
osm_id()
click to toggle source
# File lib/geocoder/results/photon.rb, line 91 def osm_id properties['osm_id'] end
osm_tag()
click to toggle source
See: wiki.openstreetmap.org/wiki/Tags
# File lib/geocoder/results/photon.rb, line 96 def osm_tag return unless properties['osm_key'] return properties['osm_key'] unless properties['osm_value'] "#{properties['osm_key']}=#{properties['osm_value']}" end
postal_code()
click to toggle source
# File lib/geocoder/results/photon.rb, line 36 def postal_code properties['postcode'] end
state()
click to toggle source
# File lib/geocoder/results/photon.rb, line 44 def state properties['state'] end
state_code()
click to toggle source
# File lib/geocoder/results/photon.rb, line 48 def state_code '' end
street()
click to toggle source
# File lib/geocoder/results/photon.rb, line 32 def street properties['street'] end
street_address()
click to toggle source
# File lib/geocoder/results/photon.rb, line 21 def street_address return unless street return street unless house_number "#{house_number} #{street}" end
type()
click to toggle source
Type of the result (OSM object type), one of:
:node :way :relation
# File lib/geocoder/results/photon.rb, line 83 def type { 'N' => :node, 'W' => :way, 'R' => :relation }[properties['osm_type']] end
Private Instance Methods
properties()
click to toggle source
# File lib/geocoder/results/photon.rb, line 105 def properties @properties ||= data['properties'] || {} end
symbol_hash(orig_hash)
click to toggle source
# File lib/geocoder/results/photon.rb, line 109 def symbol_hash(orig_hash) {}.tap do |result| orig_hash.each_key do |key| next unless orig_hash[key] result[key.to_sym] = orig_hash[key] end end end