if klass == "boundary" && type == "administrative"
rank = (place.attributes["address_rank"].to_i + 1) / 2
prefix_name = t "geocoder.search_osm_nominatim.admin_levels.level#{rank}", :default => prefix_name
+ place_tags = %w[linked_place place]
place.elements["extratags"].elements.each("tag") do |extratag|
- prefix_name = t "geocoder.search_osm_nominatim.prefix.place.#{extratag.attributes['value']}", :default => prefix_name if extratag.attributes["key"] == "linked_place" || extratag.attributes["key"] == "place"
+ prefix_name = t "geocoder.search_osm_nominatim.prefix.place.#{extratag.attributes['value']}", :default => prefix_name if place_tags.include?(extratag.attributes["key"])
end
end
prefix = t ".prefix_format", :name => prefix_name
end
def to_decdeg(captures)
- ns = captures.fetch("ns").casecmp("s").zero? ? -1 : 1
+ ns = captures.fetch("ns").casecmp?("s") ? -1 : 1
nsd = BigDecimal(captures.fetch("nsd", "0"))
nsm = BigDecimal(captures.fetch("nsm", "0"))
nss = BigDecimal(captures.fetch("nss", "0"))
- ew = captures.fetch("ew").casecmp("w").zero? ? -1 : 1
+ ew = captures.fetch("ew").casecmp?("w") ? -1 : 1
ewd = BigDecimal(captures.fetch("ewd", "0"))
ewm = BigDecimal(captures.fetch("ewm", "0"))
ews = BigDecimal(captures.fetch("ews", "0"))